JS中容易忽略的知识点(一): parseInt函数的第二个参数
1. 题目
["1", "2", "3"].map(parseInt)
题目来源: http://javascript-puzzlers.herokuapp.com/
2. 解析
- map用法:
["1", "2", "3"].map((item, index, arr)=>{
return `${index}-${item}`
});
// ["0-1", "1-2", "2-3"]
- parseInt用法:
摘自MDN:
所以, 此题的关键在于求解出:
parseInt("1", 0), parseInt("2", 1), parseInt("3", 2)
parseInt("1", 0): radix为 0 时, 默认进制为十进制, 因此结果为 1;
摘自MDN:
parseInt("2", 1): 当 radix 小于 2 或大于 36, 返回 NaN;
parseInt("3", 2): 除了“0、1”外,其它数字都不是有效二进制数字, 返回 NaN;
3. 答案
因此, 最终结果为: [1, NaN, NaN]
javascript前端
阅读 13发布于 今天 08:02
本作品系原创,采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议
小飞2020
1 声望
0 粉丝
0 条评论
得票时间
小飞2020
1 声望
0 粉丝
宣传栏
目录
1. 题目
["1", "2", "3"].map(parseInt)
题目来源: http://javascript-puzzlers.herokuapp.com/
2. 解析
- map用法:
["1", "2", "3"].map((item, index, arr)=>{
return `${index}-${item}`
});
// ["0-1", "1-2", "2-3"]
- parseInt用法:
摘自MDN:
所以, 此题的关键在于求解出:
parseInt("1", 0), parseInt("2", 1), parseInt("3", 2)
parseInt("1", 0): radix为 0 时, 默认进制为十进制, 因此结果为 1;
摘自MDN:
parseInt("2", 1): 当 radix 小于 2 或大于 36, 返回 NaN;
parseInt("3", 2): 除了“0、1”外,其它数字都不是有效二进制数字, 返回 NaN;
3. 答案
因此, 最终结果为: [1, NaN, NaN]