网上解释说,上面那段代码相当于[parseInt(1,0),parseInt(2,1),parseInt(3,2)],我不是很理解为什么是这样的
2 回答
杨魅力
TA贡献1811条经验 获得超6个赞
map函数会给callback传递三个参数,被遍历的元素、元素的索引和被遍历的数组本身。
parseInt会接收两个参数,第一个参数代表需要parse的这个数字,第二参数代表进制,所以会出现你说的那种情况。
慕神8447489
TA贡献1780条经验 获得超1个赞
相当于这样
[1, 2, 3].map((num, index) => parseInt(num, index))
而parseInt接收的第二个参数会作为将要转换的进制,只接受2到36之间的整数
0估计是布尔为false了,使用默认进制,也就是10进制
1是不被允许的进制,应该是相当于错误去处理了,无论怎么样都会返回NaN
二进制中是没有3的,为NaN
大概是这样,没有详细验证,见谅
添加回答
举报
0/150
提交
取消