关于['1','2','3'].map(parsetInt)理解

今儿碰到个题目

关于['1','2','3'].map(parsetInt)

最开始以为很简单,就是将数组中的所有元素进行向Int的转化,然而机智的我转念一想事情不会那么简单。

然后偷偷摸摸的输入了下,抬头看看周围没有人点了下回车

后来了解到,原因是map函数的参数所致

å¨è¿éæå¥å¾çæè¿°

我们的['1','2','3'].map(parseInt)

按照array.map函数的可选、必选参数对该函数按照情形,按照顺序是这样解析的

①parseInt(‘1’,0,[1,2,3]) 

   此处1为currentValue,0为其在数组中的索引,[1,2,3]为当前数组对象

   然而parseInt的函数

å¨è¿éæå¥å¾çæè¿°

 即说明parseInt只接收两个参数,那么最后表达应该为如下

  parseInt(‘1’,0,[1,2,3])   =>   parseInt(‘1’,0)

已知此处‘1’为要被解析的字符串,radix为0,即以十进制进行转换结果为

parseInt(‘1’,0)  =>  1

②同理 

parseInt(‘2’,1,[1,2,3])   =>  parseInt(‘2’,1)  => NaN

此处‘2’为要被解析的字符串,radix为1,即将2以1进制进行转换结果为无法转化结果为NaN

③parseInt(‘3’, 2,[1,2,3])   =>  parseInt(‘3’,2)  => NaN

此处‘3’为要被解析的字符串,radix为2,即将3以2进制进行转换,而3不是一个二进制数(二进制由0、1组成),无法转换结果为NaN

结果即 1,NaN,NaN

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值