[[1, 2], [3, 4]].map(([a, b]) => a + b)返回[3,7]的原因

1.对数组的map方法的解释

1. 格式:

array.map(function(item,index,arr){})
参数1item,必须当前元素的值
参数2index,可选当前元素在数组中的索引值
参数3arr,可选当前元素属于的数组对象

2. 作用
对数组中的每一个元素进行处理,返回新的元素。

2.对箭头函数([a, b]) => a + b的理解

1. 示例

x => x * x

上面的箭头函数相当于:

function (x) {
    return x * x;
}

2. 所以([a, b]) => a + b可以转化为

function([a,b]){
	return a+b;
}

3.数组的解构赋值的理解

1. 示例

let [a, b, c] = [1, 2, 3];
a //1
b //2
c //3
  • 上面代码表示,可以从数组[1,2,3]中提取值,按照对应位置,对变量a,b,c赋值。

2. 我们先把[1, 2], [3, 4]].map(([a, b]) => a + b转化为以下模式便于理解

var arr = [[1, 2], [3, 4]]
arr.map(function ([a, b]) {
    return a + b;
})
  • 那么此时函数里的形参[a,b]就相当于map方法参数中的item
  • 我们需要对item进行解构赋值,也就是对函数的形参进行解构赋值
    • 第一轮遍历: [a,b]=[1,2] ; 所以a=1,b=2; return a+b ; 所以return 3
    • 第二轮遍历: [a,b]=[3,4] ; 所以a=3,b=4; return 3+4 ; 所以return 7
  • 所以[[1, 2], [3, 4]].map(([a, b]) => a + b)返回[3,7]
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值