码迷,mamicode.com
首页 > 其他好文 > 详细

["1", "2", "3"].map(parseInt) 答案是多少?

时间:2017-08-26 12:46:47      阅读:324      评论:0      收藏:0      [点我收藏+]

标签:函数   width   string   分析   style   ima   依次   png   strong   

让我们先看看最直接最粗暴的方式
技术分享

 没错,答案就是:[1, NaN, NaN],那为什么答案是[1, NaN, NaN]呢?

    1.让我们先了解一下map函数的定义

 JavaScript Array map() 方法

 定义和用法

  map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

  map() 方法按照原始数组元素顺序依次处理元素。

  注意: map() 不会对空数组进行检测。

  注意: map() 不会改变原始数组。

 技术分享


因为 parseInt 需要两个参数 (val, radix), map 传了 3 (element, index, array)

  即原例子相当于

  [parseInt("1",0),parseInt("2",1),parseInt("3",2)]

        技术分享

 

  分析:

  按十进制转换输出1
  1不在2~36之间,输出NaN
  字符串"3"里面没有合法的二进制数,输出NaN
  所以最后结果是[1,NaN,NaN]

["1", "2", "3"].map(parseInt) 答案是多少?

标签:函数   width   string   分析   style   ima   依次   png   strong   

原文地址:http://www.cnblogs.com/zhoudawei/p/7434828.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!