字符串被视为循环内的数组-Javascript
我有以下代码:字符串被视为循环内的数组-Javascript,javascript,arrays,loops,Javascript,Arrays,Loops,我有以下代码: for(i = 0; i < textArray.length; i++) { var reg = /\bSTEAM_[01]:[01]:[0-9]{1,10}\b/; var correctID = textArray[i].match(reg); if(correctID !== null) { var z = correct
for(i = 0; i < textArray.length; i++)
{
var reg = /\bSTEAM_[01]:[01]:[0-9]{1,10}\b/;
var correctID = textArray[i].match(reg);
if(correctID !== null)
{
var z = correctID.split(':');
var correctID64 = '765611' + 97960265728 + z[3];
steamIDs.push(correctID64);
alert(correctID64);
}
};
for(i=0;i
但是,我得到了一个未捕获类型错误:“未捕获类型错误:当我尝试拆分correctID时,Object[Object Array]没有“拆分”方法”。据我所知,correctID应该是一个字符串,当我尝试转储correctID的索引时,它失败了。但是,当我转储数据类型时,它会返回[Object Array]
为什么correctID会被视为数组?每次循环运行时,我都给它分配一个新值,而不是向数组中添加值。match()
返回一个包含所有匹配项的数组。它不返回字符串
函数.match()
返回一个数组
你可以尝试:
var correctID = textArray[i].match(reg).toString();
或者,如果您只需要第一次出现:
var correctID = textArray[i].match(reg)[0];