[‘1‘,‘2‘,‘3‘].map(parseInt)涉及的map、parseInt知识点

['1','2','3'].map(parseInt)//[1,NaN,NaN]
//等价于 
//['1','2','3'].map((item,index)=>{
// return parseInt(item,index)
//})
parseInt('1',0);//1
parseInt('2',1);//NaN
parseInt('3',2);//NaN

1、map函数:创建一个新数组,其结果是该数组中每个元素执行指定函数后返回的结果。

//例:
[1,2,3].map(x=>x+1)//返回新数组[2,3,4]
var new_array = arr.map(function callback(currentValue[, index[, array]]) {}[, thisArg])

参数:currentValue---当前的元素,index---当前元素下标   array---数组    thisArg---执行callbaxk可作为this

2、parseInt函数:根据指定基数来解析一个字符串参数,并返回整数。

parseInt(string,radix)

参数:string---需要解析的值       radix---基数(2~36之间),按n进制进行解析,返回的值是个十进制

(1)radix为0、false、null、undefined,缺省,若string不含0x,一般按10进制进行解析

(2)若解析的参数的第一个字符无法转换成数值,则返回NaN;

(3)第一个字符不为数字或大于等于进制数,也会返回NaN;

(4)基数1、基数37都无效,返回NaN

(5)若字符串中有超过基数的数字,则从此字符开始往后的所有字符不参与解析

//例1
parseInt('1',0)//1,按十进制解析
//例2
parseInt('·889',1)//NaN,.无法转换成数字
//例3
parseInt('213',2)//NaN,第一个字符2等于基数2
parseInt('313',2)//NaN,第一个字符3大于基数2
//例4
parseInt('2',1)//NaN,基数1无效
parseInt('2',37)//NaN,基数37无效
//例5
parseInt('1067',2)//2,等价于parseInt('10',2)

//特殊例子
parseInt('abc',2)//NaN,字母a=10,是大于基数2的,可不要以为是由于a无法转换成数字哦
parseInt('abc',36)//13368

3、进制的换算

换算的数字中每个字符必须小于进制数,如2进制只能有0,1;3进制只能有0,1,2;以此类推

进制换算:从右往左每个数字分别为N1,N2,N3...Nn,进制数为R,换算规则=Nn*(R^n-1)+...+N3*(R^2)+N2*(R^1)+N1*(R^0)

parseInt(101,2)//1*2^2+0*2^1+1*2^0=5
parseInt(101,16)//1*16^2+0*16^1+1*16^0=257

备注:任何数的0次方都等于1,2^0=1,16^0=1.

参考文章:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/map

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值