[1,2,3].map(parseInt)
分析:
- 将map函数中的回调函数换为了parseInt函数
- parseInt(string, radix) 原来可以接收两个参数,第二个参数为基数,此时第一个参数表示的是以第二个参数为基数表示的值,返回值是该值的十进制形式。
- 比如:parseInt(‘123’,5)表示把5进制的123转换为10进制,也就是1*5^2 + 2*5^1 + 3*5^0=38
原题相当于:
- parseInt(1, 0) // 将0进制的1转换为10进制,由于没有零进制,则会根据十进制来解析,最后直接返回1
- parseInt(2, 1) // 将1进制的2转换为10进制,由于一进制只能用0表示,所以返回NaN
- parseInt(3, 2) // 将2进制的3转换为10进制,由于二进制用0 1表示,所以返回NaN