2019-09-30
回答
[1, NaN, 3]
加分回答
parseInt(string, radix)
将一个字符串转换为radix
进制的整数。如果string
无法被转化成数值类型将会返回NaN
。radix
为介于 2-36 之间的整数,通常默认值为10
,始终指定此参数可以消除阅读该代码时的困惑并且保证转换结果可预测。很多 lint 工具都会默认开启此项的校验map
在每次迭代时都会将value
,index
,array
三个参数传递到parseInt()
中,因此['1', '7', '11'].map(parseInt)
可以扩展为:
parseInt('1', 0) // 1
parseInt('7', 1) // NaN
parseInt('11', 2) // 3
- 改写为如下将会按预期执行:
['1', '7', '11'].map(value => parseInt(value, 10));