Javascript 在es6中重写concat函数

Javascript 在es6中重写concat函数,javascript,es6-promise,Javascript,Es6 Promise,我有一个简单的函数,我正试图在es6中重写它,但我没有得到它 其中,arr1和arr2是不同宽度的多维数组,即arr1[0]。长度!=arr2[0]。长度 但它们的长度是一样的 function conatArrAsColumns(arr1, arr2) { //This works var result = arr1.map(function(row, i){ return row.concat(arr2[i]); }); //This works var r

我有一个简单的函数,我正试图在es6中重写它,但我没有得到它

其中,arr1和arr2是不同宽度的多维数组,即arr1[0]。长度!=arr2[0]。长度 但它们的长度是一样的

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))

感谢您对此提供的任何帮助

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

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

如果我理解正确,并且您希望将两个数组合并为一个数组,则可以使用spread运算符:

函数conatArrAsColumns(arr1、arr2){
常数arr3=[…arr1,arr2]
返回arr3
}
log(conatArrAsColumns([1,2,1,2,3],[4,5,6,7,8,9,10,11]))

//将返回[1,2,1,2,3,4,5,6,7,8,9,10,11]
括号不平衡。无效的括号缺少索引。为什么要删除它?这也不起作用
var result=arr1.map((行,i)=>row.concat(arr2([i]))
I get
arr2
不是一个函数这里的括号在哪里不平衡
var result=arr1.map((行)=>{return row.concat(arr2);})
还有,最后两个不起作用-您将整个
arr2
连接到
arr1
中的每一行,而不是像前两段代码那样使用
arr2[i]
。哦,这就是使用spread操作符的方法。谢谢你,维克