其他分享
首页 > 其他分享> > [‘10‘,‘10‘,‘10‘,‘10‘,‘10‘].map(parseInt)

[‘10‘,‘10‘,‘10‘,‘10‘,‘10‘].map(parseInt)

作者:互联网

2013年, 加里·伯恩哈德就在微博上发布了以下代码段:

['10','10','10','10','10'].map(parseInt);

以为是[10,10,10,10,10],其实是[10,NaN,2,3,4]

解析:
Array.map(parseInt)等价于

Array.map((item,index)=>{
	return parseInt(item,index)
})

那么结果便是[parseInt('10',0),parseInt('10',1),parseInt('10',2),parseInt('10',3),parseInt('10',4)]

parseInt(string, radix)中radix是可选的,表示要解析的数字的基数。(通俗讲便是根据radix进制解析)该值介于 2 ~ 36 之间。如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。

那么结果便是[10,NaN,2,3,4]

标签:10,radix,map,NaN,parseInt,解析
来源: https://blog.csdn.net/qq_44768564/article/details/119909336