当我尝试从下面的数组中仅检索数值时,出现错误“无法读取未定义的属性‘toString’”。虽然我看到输出正确给出,但我收到此错误并且代码失败。
var array=['~ 9 view passages','~ 17 view passages','~ 1 view passages','~ 3 view passages','~ 4 view passages','~ 1 view passages'];
for (var i=0;i<=array.length;i++){
var Arraystring=array[i].toString();
var temp1 = Arraystring.replace(" view passages","");
var temp2 = temp1.replace("~","");
var temp3=parseInt(temp2);
console.log("String converted Array "+Arraystring);
console.log("Stripped Array "+temp2);
console.log("Integer Array "+temp3);
}
错误: 无法读取未定义的属性“toString”
最佳答案
您应该使用< array.length
而不是<= array.length
.
当前您正在解析超出范围的值,因此它无法调用 toString()
功能。
试试这个方法
var array = ['~ 9 view passages', '~ 17 view passages', '~ 1 view passages', '~ 3 view passages', '~ 4 view passages', '~ 1 view passages'];
for (var i = 0; i < array.length; i++) {
var Arraystring = array[i].toString();
var temp1 = Arraystring.replace(" view passages", "");
var temp2 = temp1.replace("~", "");
var temp3 = parseInt(temp2);
console.log("String converted Array " + Arraystring);
console.log("Stripped Array " + temp2);
console.log("Integer Array " + temp3);
}
关于javascript - 从混合字符数组中仅检索整数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44300352/