如何在JavaScript中组合数组?

时间:2014-09-16 11:03:15

标签: javascript arrays

var arrayOne = [a,b,c];  
var arrayTwo = [d,e,f]; 

如何在JavaScript中组合这两个数组,以便结果为:

var array = [a,d,b,e,c,f];

注意:这不是连接两个数组。这是合并两个数组,因此索引看起来像[0,0,1,1,2,2]

2 个答案:

答案 0 :(得分:1)

假设两个数组的长度相等,这应该可以解决问题:

var arrayThree = [];
for(var i = 0; i < arrayOne.length; i++){
   arrayThree.push(arrayOne[i], arrayTwo[i]);
}

如果它们的长度不同,那么您将拥有两个数组:

var a = [a,b,c,d];
var b = [e,f];

我假设您需要以下结果

var c = [a,e,b,f,c,d];

应该这样做:

var c = [];
while(Math.min(a.length, b.length)){
   c = c.concat(a.splice(0,1), b.splice(0,1));
   //Or c = c.concat(b.splice(0,1), a.splice(0,1));
   //depending on the order
}
a.length ? c = c.concat(a) : c = c.concat(b);
//Here is a = [c,d] and b = []

答案 1 :(得分:-1)

您可以使用jQuery的独特方法以及concat

var a = [1,2,3];
var b = [2,3,4];
var c = a.concat(b); // [1,2,3,2,3,4]
c = $.unique(c); // [1, 2, 3, 4]

您可能需要根据需要对数组进行排序。