预计结果:
[1,2,3]
实际结果:
[1, NaN, NaN]
原因
['1', '2', '3'].map(parseInt)
=>
['1', '2', '3'].map((val, index) => parseInt(val, index))
解释
parseInt
接受两个参数:value 和 radix
- value: 将要被转换的值
- radix:基数 (例:2 代表二进制,8 代表八进制)
在这个程序执行时,parseInt
方法会被依次如下执行
parseInt('1', 0) // 输出 1,radix 为 0 默认是十进制
parseInt('2', 1) // NaN,radix 为 1 时,输出全是 NaN
parseInt('3', 2) // NaN,radix 为 2 是,‘3’为非法数字
网友评论