分析 [‘1‘, ‘2‘, ‘3‘].map(parseInt)答案
[1,NaN,NaN]
parseInt(string,radix)
string:需要转换的字符
radix:表示进制。省略radix或radix=0,则数字将以十进制解析。数字2-36之间的整型。默认使用10,表示10进制.
例如:
parseInt(‘123’,5)
//将"123"看作5进制的数,返回十进制数 38 => 1* 5^ 2 + 2* 5^ 1 + 3*5^0 = 38
array.map(callback[,thisArg]);
将数组的各个元素依次传入到回调函数callback,回调函数返回的结果依次替换原数组对应的元素。
回调函数callback 会被自动传入三个参数:数组元素,元素索引,原数组本身。
map为parseInt传3个参数(elem,index,array),其中index为数组索引
因此,map 遍历 [“1”, “2”, “3”],相应 parseInt 接收参数如下
parseInt(‘1’, 0); // 1,radix为0,默认使用十进制
parseInt(‘2’, 1); // NaN,radix值在2~36之间,无法解析1
parseInt(‘3’, 2); // NaN,二进制中只存在0 1,无法解析3
map函数返回的是一个数组,所以最后结果为[1, NaN, NaN]