添加colums形成一个二维数组到另一个二维数组

问题描述:

我有2个二维数组(array1和array2),它们是两个表,每个都有5列。添加colums形成一个二维数组到另一个二维数组

我需要通过以获得一个ARRY是与10列

表添加列形式阵列2编辑ARRAY1

例如:

array1 [1,1,1,1,1] 
     [2,2,2,2,2] 
     [3,3,3,3,3] 

array2 [a,a,a,a,a] 
     [b,b,b,b,b] 
     [c,c,c,c,c] 

new array1 [1,1,1,1,1,a,a,a,a,a] 
      [2,2,2,2,2,b,b,b,b,b] 
      [3,3,3,3,3,c,c,c,c,c] 

Thnak的很多关于任何意见

您可以迭代并使用Array#splice来连接其他值。

var array1 = [[1, 1, 1, 1, 1], [2, 2, 2, 2, 2], [3, 3, 3, 3, 3]], 
 
    array2 = [['a', 'a', 'a', 'a', 'a'], ['b', 'b', 'b', 'b', 'b'], ['c', 'c', 'c', 'c', 'c']]; 
 

 
array1.forEach(function (a, i) { 
 
    Array.prototype.splice.apply(a, [a.length, 0].concat(array2[i])); 
 
}); 
 

 
console.log(array1);

+0

谢谢很多,它工作得很好,我自己尝试了forEach函数,但似乎我无法拿出一个工作代码。非常感谢! – d4rk5h4rk

的情况下,两个数组有相同的长度,那么你可以放心地使用这个

var arr1 = [[1,2,3], [4,5,6], [7,8,9]]; 
var arr2 = [["a","b","c"], ["d","e","f"], ["g","h","i"], ["j", "k","l"]]; 

var narr = []; 
for(var ii = 0, len = Math.min(arr1.length, arr2.length); ii < len; ii++) { 
    narr[ii] = arr1[ii].concat(arr2[ii]); 
} 

,长度等于最小长度,这将创建一个新的数组两个阵列arr1 & arr2

的结果将是:

[1,2,3,"a","b","c"] 
[4,5,6,"d","e","f"] 
[7,8,9,"g","h","i"] 

,如果你不知道它们具有相同的长度,你可以简单地改变这段代码

var arr1 = [[1,2,3], [4,5,6], [7,8,9]]; 
var arr2 = [["a","b","c"], ["d","e","f"], ["g","h","i"], ["j", "k","l"]]; 

var narr = []; 
for(var ii = 0, len = Math.max(arr1.length, arr2.length); ii < len; ii++) { 
    narr[ii] = arr1[ii] ? arr1[ii].concat(arr2[ii]) : arr2[ii]; 
} 

结果将是

[1,2,3,"a","b","c"] 
[4,5,6,"d","e","f"] 
[7,8,9,"g","h","i"] 
["j","k","l"] 
+0

谢谢!既然你正确地质疑数组的相同长度,我有一个更复杂的问题^ _^....你认为在连接之前匹配一个列的2个数组可能是可能的吗? (像SQL连接功能) – d4rk5h4rk

+0

@用户欢迎..我没有得到你的意思? –