["1","2","3"].map(parseInt) 结果是什么,并解释原因

111 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第28天,[点击查看活动详情]

结果

[1,NaN,NaN]

解析

Arr.map(function(ele,index,arr){})//ele:遍历的元素index:元素索引,arr:数组。

['1','2','3'].map(parseInt)相当于执行了以下三次过程

 

parseInt('1',0,['1','2','3'])

parseInt('2',1,['1','2','3'])

parseInt('3',2,['1','2','3'])

 

parseInt函数有两个参数,以二个参数(radix)作为基数来解析第一个参数字符串,通常用来做十进制向上取整(省略小数)

parseInt('1',0,['1','2','3']):radix为0时,默认取10,返回1;

parseInt('2',1,['1','2','3']):radix取值为2~36,返回NaN;

parseInt('3',2,['1','2','3']): radix取值为2,二进制只包括0,1,返回NaN。

 

若想要返回[1,2,3],可以使用["1","2","3"].map(Number)。