- 此问题在此处已有答案**:
Why does parseInt yield NaN with Array#map?(8个答案)
昨天关门了。
我在JavaScript领域已经有很长一段时间了,它仍然给了我新的东西去学习。
据我所知,下面这行代码应该打印出相同的数组,也许不是-
console.log([2, 2, 2, 2, 2, 2].map(parseInt));
// output => [2, NaN, NaN, 2, 2, 2]
console.log([2, 2, 2, 2, 2, 2].map((num) => parseInt(num)));
// output => [2, 2, 2, 2, 2, 2]
有谁能帮我理解一下吗?
1条答案
按热度按时间mspsb9vt1#
是的,那么回调map的参数是什么
你的代码样本是这样执行的:
所以你要传递第二个参数给parseInt,也就是index
parseInt的第二个参数是
base
,您要在其中解析整数基数为1和2时,没有数字
2
..所以它给出NaN
阅读更多关于parseInt on MDN的第二个参数
修复只提供一个参数,因为您的数字是以10为基数的