我正在解决Codewars上的一些问题,并尝试将一个字符串转换为数字列表,如下所示:
"102904".split("").map(parseInt);
预期结果应该是这样的:
[1, 0, 2, 9, 0, 4]
但实际上它返回:
[1, NaN, NaN, NaN, 0, 4]
我认为应将map应用于列表中的每个元素,这些元素均为1位数字的字符串。有人可能认为它无法正确解析是因为未使用基数,但实际上:
"102904".split("").map(function(x){ return parseInt(x);});
[ 1, 0, 2, 9, 0, 4]
使用parseInt(x, 10)
并不会改变结果,但是直接将parseInt
传递给map
会导致结果为NaN
...
我在Chrome和Firefox上尝试了这个方法,得到了相同的结果。
"102904".split("").map(function(x){ return parseInt(x);});
在 Chrome 30 中似乎返回了预期的结果。 - Jasper