为了账号安全,请及时绑定邮箱和手机立即绑定

重写es6中的concat函数

重写es6中的concat函数

www说 2023-10-20 10:24:05
我有一个简单的函数,我试图用 es6 重写它,但我没有得到它其中 arr1 和 arr2 是不同宽度的多维数组,即 arr1[0].length != arr2[0].length 但具有相同的长度function conatArrAsColumns(arr1, arr2) {  //This works  var result = arr1.map(function(row, i){  return row.concat(arr2[i]);  });    //This works  var result = arr1.map((row, i) => {  return row.concat(arr2[i]);  });     //This does not work  var result = arr1.map((row) => {  return row.concat(arr2);  });  //This does not work  var result = arr1.map(row => row.concat(arr2)));  return result}我正在努力让它发挥作用var result = arr1.map(row => row.concat(arr2)));感谢您对此提供的任何帮助
查看完整描述

2 回答

?
侃侃尔雅

TA贡献1801条经验 获得超15个赞

您“有效”的尝试都使用索引,而无效的尝试则不使用索引。你“试图让它工作”的最后一个例子是正确的 - 你只是缺少索引:

var result = arr1.map((row, i) => row.concat(arr2[i]));


查看完整回答
反对 回复 2023-10-20
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

如果我理解正确,并且您想将两个数组合并为一个,可以使用扩展运算符:


function conatArrAsColumns(arr1, arr2) {

  const arr3 = [...arr1, arr2]

  return arr3

  }


console.log(conatArrAsColumns([1,2,[1,2],3], [4,5,6,7,[8,9],10,11]))

//will return [1,2,1,2,3,4,5,6,7,8,9,10,11]


查看完整回答
反对 回复 2023-10-20
  • 2 回答
  • 0 关注
  • 110 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信