Pin*_*ade 11 javascript string casting node.js
这都是在一个更大的程序的背景下,所以我将尝试保持简单,只显示有问题的行.我有一个数组值,字符串形式的数字为"84","32"等.
然而这条线
console.log(unsolved.length + " " + unsolved[0] + " " + parseInt(unsolved[0]) + " " + parseInt("84"));
Run Code Online (Sandbox Code Playgroud)
打印:
4 "84" NaN 84
Run Code Online (Sandbox Code Playgroud)
"84"是我试图解析的数组元素!然而,除非我将它从数组的上下文中删除并明确地编写它,否则它将无法工作.这是怎么回事?
Ale*_*x W 11
您可以尝试使用此函数从要处理的字符串中删除引号:
function stripAlphaChars(source) {
var out = source.replace(/[^0-9]/g, '');
return out;
}
Run Code Online (Sandbox Code Playgroud)
您还应明确指定要解析基数为10的数字:
parseInt(unsolved[0], 10);
Run Code Online (Sandbox Code Playgroud)
parseInt
将从其参数的开头看起来像一个数字,并忽略其余的一切.在你的情况下,你调用它的参数开头"
,所以没有任何东西看起来像一个数字,它试图转换一个空字符串,这实际上不是一个数字.
归档时间: |
|
查看次数: |
45141 次 |
最近记录: |