前端每日一题:(头条)[1,2,3].map(parseInt) what why

[‘1’, ‘2’, ‘3’].map(parseInt) what & why ?

让我们先来了解一下map函数和 parseInt吧

map

map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。array.map(function(currentValue,index,arr), thisValue)
接收的是一个函数 函数接收的是三个参数
function(currentValue, index,arr)
currentValue是循环到当前的元素 index是当前元素的下标 arr是原数组
thisValue
可选。对象作为该执行回调时使用,传递给函数,用作 “this” 的值。
如果省略了 thisValue,或者传入 null、undefined,那么回调函数的 this 为全局对象

parseInt

parseInt(string, radix) 两个参数
string 必需。要被解析的字符串。
radix
可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。

如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。

如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。

那么重点来了,了解了这两个函数后是不是就水到渠成了
那么[‘1’, ‘2’, ‘3’].map(parseInt)就是相当于
[‘1’, ‘2’, ‘3’].map((item,index)=>parseInt(item,index)) 了,
这就简单了吧
parseInt(‘1’, 0) //radix为0时,且string参数不以“0x”和“0”开头时,按照10为基数处理。这个时候返回1
parseInt(‘2’, 1) //基数为1(1进制)表示的数中,最大值小于2,所以无法解析,返回NaN
parseInt(‘3’, 2) //基数为2(2进制)表示的数中,最大值小于3,所以无法解析,返回NaN
所以就会得到一个这样的数组[1,NaN,NaN]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值