为什么 ["1", "2", "3"].map(parseInt) 返回 [1,NaN,NaN]?

map 方法有三个参数,map(value, index, array), vaule 为当前值,index为当前索引,array包含该元素的数组对象

parseInt方法有两个参数,parseInt(value, radix), value为解析的字符串,radix为基数(范围2-36进制),不传或传0时默认为10进制

因此,函数会执行三次:

parseInt('1', 0) 按10进制,返回为数字1

parseInt('2', 1) 第二个参数取值2-36,传1无法解析,所以返回值为NaN

parseInt('3', 2) 按二进制解析,但二进制只有数字1和0,传入‘3’无法解析,所以返回值为NaN

你可能感兴趣的:(为什么 ["1", "2", "3"].map(parseInt) 返回 [1,NaN,NaN]?)