Array.map和parseInt的用法

Array.map的参数

Array.map((item,index,arr) => {}, thisValue)

map的callback参数分别是数据项,索引,数组本身,thisValue可以指定callback中的this值

parseInt的参数

parseInt(str, radix)

该方法,始终将str转换为10进制数字。后面的radix是指,以何种进制去解释str。

radix:

1. 取值2-36,超出范围的值,无效进制,返回NaN。

2. 0或空值,则以字符串的开头标识处理,0x开头用16进制,0开头用8进制,其他开头都用10进制。

一道网红面试题

原题: ['1', '2', '3'].map(parseInt);

等价于:

['1', '2', '3'].map((item,index) => {
  return parseInt(item,index);
})

计算过程:

parseInt('1',0)  =  1         //10进制

parseInt('2',1)  = NaN    //1进制无效

parseInt('3',2)  = NaN    //2进制中3无效 

结果为:[1, NaN, NaN]

上一篇:如何实现一个parseInt


下一篇:前端100问,这些问题你都会了吗?