求解:[[1, 2], [3, 4]].map(([a, b]) => a + b); // 为何输出 [ 3, 7 ]?

// es6的函数参数的解构赋值
[[1, 2], [3, 4]].map(([a, b]) => a + b);
// [ 3, 7 ]
阅读 5k
4 个回答

相当于这样

var arr1 = [1, 2];
var arr2 = [3, 4];

[arr1, arr2].map(arr => {
  var a = arr[0];
  var b = arr[1];
  return a + b;
});

1+2=3
3+4=7
两个数组都计算了一下。

map 传入了2次

第一次传入的是 [1,2] 第二次传入的是 [3, 4]

然后参照 es6的变量解析 const [a, b] = [1, 2]; // a = 1; b = 2;

然后加法和 es6 箭头函数, 无花括号直接 return 这些.

因为你参数传的就是数组,当然是计算数组的和了
[[1, 2], [3, 4]].map(([a, b]) => a + b);

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题