数组中的map方法

  • 方法:
    Array.prototype.map
  • 作用:
    map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一次提供的函数后的返回值。
  • 语法
var new_array = arr.map(function callback(currentValue[, index[, array]]) {
 // Return element for new_array 
}[, thisArg])
  • 参数的使用
    可以看到,回调函数的参数中必须有当前值。(这里很容易让人以为默认传递一个值)

  • 题目

['1','2','3'].map(parseInt) //=> [1, NaN, NaN]

通常情况下,map 方法中的 callback 函数只需要接受一个参数,就是正在被遍历的数组元素本身。但这并不意味着 map 只给 callback 传了一个参数。这个思维惯性可能会让我们犯一个很容易犯的错误。

parseInt(string, radix) 将一个字符串 string 转换为 radix 进制的整数, radix 为介于2-36之间的数。

由此可以看出,会传递两个值给parseInt。

  • 返回值为NaN的情况

    • radix 小于 2 或大于 36
    • 第一个非空格字符不能转换为数字
  • 具体迭代步骤

/*  first iteration (index is 0): */ parseInt("1", 0);
// 0 或者 不传第二个参数。默认以10进制解析。
/* second iteration (index is 1): */ parseInt("2", 1); 
// NaN,1进制下没有2
/*  third iteration (index is 2): */ parseInt("3", 2); // NaN
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值