关于 parseInt()和map()

1、为什么[1','2','3'].map(parseInt)  输出结果:['1',NaN,NaN] ?

        map方法:map方法会给灭个原数组中的每个元素都调用一次回调函数,回调函数只会在有值的索引上被调用,那些从没有被赋过值或者使用delete删除的索引则不会被调用。map的回调函数会被自动传入三个参数:数组元素,元素索引,原数组本身。

        parseInt方法:该方法是可以接收两个参数的。第一个参是被转化的值,第二个参数是被转化值的进制。

        NaN:代表非数字值的特殊值。该属性用于指示某个值不是数字。是Number的一种特殊类型,可以用Number.NaN得到

        因此map自动传入的第二个参数即原数组的索引值被parseInt当成了进制数。当进制数为0时,默认为十进制,所以原数组第一个值转换为1。数组第二个元素是2,索引为1,即进制数为1。数组第三个元素为2,索引为2,即进制为二进制,二进制只有0和1,所以结果为NaN。当parseInt的进制参数大于等于2或者大于36,就会返回NaN

        

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值