[ `1` , `2` , `3` ].map(parseInt)

目录

map() 方法

parseInt(string, radix) 

进制

总结:


这个题用到了数组的map方法、parseInt方法以及二进制的知识

 

  • map() 方法

map() 方法创建一个新数组,会遍历原数组,返回一个处理之后的新数组

const array1 = [1, 4, 9, 16];

// Pass a function to map
const map1 = array1.map(x => x * 2);

console.log(map1);
// expected output: Array [2, 8, 18, 32]
//可以接受两个参数
//item是每一项
//index是每一项的索引

const map1 = array1.map((item,index)=>{

         return  item*2 + index*1
})

  • parseInt(stringradix) 

parseInt(stringradix) 解析一个字符串并返回指定基数的十进制整数,radix 是 2-36 之间的整数,表示被解析字符串的基数。

接收两个参数

第一个参数

要被解析的值。如果参数不是一个字符串,则将其转换为字符串 (使用 ToString抽象操作)。字符串开头的空白符将会被忽略。

第二个参数:

从 2 到 36 的整数,表示进制的基数。例如指定 16 表示被解析值是十六进制数。如果超出这个范围,将返回 NaN。如果没有传或者为0,默认为10进制,

当第一个参数以 ‘ 0x ’ 开头 按照16进制处理

如果为 0 开头 按照8进制处理, ES5之后取消了这个规则

‘A’在16进制里面 为10, ‘F’在16进制中不存在

  • 进制

十进制整数转换为二进制整数:

采用:除2取余,逆序排列

二进制整数转换为十进制整数:

采用:全权相加,从0位开始数,


总结:

有了以上的基础我们可以把代码按顺序详细分解

const arr = ['1','2','3']

const result = arr.map((item,index)=>{
        return parseInt(item, index)
    }
)

result为一个数组

所以map遍历的顺序为

1. parseInt(1,0)

2. parseInt(2,1)

3. parseInt(3,2)

所以结果为  result = 【 1,NaN,NaN 】

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值