[’10’,’10’,’10’,’10’,’10’].map(parseInt) 解析

东明兄 2019-09-09
0条评论 1,305 次浏览
东明兄 2019-09-090条评论 1,305 次浏览

第一眼看['10','10','10','10','10'].map(parseInt);,第一反应 返回的应该是 5个 10,但事实上结果是:[10, NaN, 2, 3, 4]

parseInt
parseInt() 函数解析一个字符串参数,接收两字符串,并返回一个指定基数的整数 (数学系统的基础)。
const intValue = parseInt(string[, radix]);

实际上 这里执行的是:

['10', '10', '10','10','10'].map((item, index) => {
    return parseInt(item, index)
})
parseInt(10,0)
10
parseInt(10,1)
NaN
parseInt(10,2)
2
parseInt(10,3)
3
parseInt(10,4)
4

如果就像返回 5个 10,可以这样做:

['10','10','10','10','10'].map(Number);
// [10, 10, 10, 10, 10]

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注