1,['1', '2', '3'].map(parseInt); 为什么输出的不是[1, 2, 3],而是[1, NaN, NaN]
前置知识:
map的参数: callback(currentValue, index, array);// 当前被处理的元素、该元素的索引
parseInt(string, radix)作用:解析字符串成为指定基数的整数。
parseInt('5', 6) == 5 && parseInt('5', 5) == NaN
解析:
1,遍历map,第一个元素‘1’,currentValue: '1', index: 0. parseInt('1', 0); ‘1’不为0x或0开头,按照十进制处理。返回1
2,第二个元素‘2’ parseInt('2', 1); 1进制,‘2’无法被解析。返回NaN
3,元素‘3’,同理(‘3’, 2)返回NaN
网友评论