该函数的目的是删除给定字符串的空格,然后将其转换为数字,最后将数字的每个字符插入一个空数组(即“24532”,应将以下[2,4,5,3,2])。但是,当我在函数末尾控制台输出数组时,我在输出数组中收到 NaN 值。该函数中的每一步对我来说都是有意义的,但我不确定我的错误在哪里。任何帮助将不胜感激!
function convert(numbers){
var notString = parseInt(numbers.replace(/\s+/g, ''), 10),
sNumber = notString.toString(),
output =[];
console.log(sNumber);
for(var i = 0; i < sNumber.length; i+=1) {
output.push(+sNumber.charAt[i]);
}
console.log(output);
}
convert("1 2 2 2 2");
最佳答案
为什么不使用String#split()
?
function convert(numbers) {
return numbers.trim().split(/\s+/).map(Number);
}
document.write('<pre>' + JSON.stringify(convert(" 1 2 2 2 2 "), 0, 4) + '</pre>');
关于javascript - 无法从 JS 函数中删除 NaN 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36118700/