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]
。
答案 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]
您可能需要根据需要对数组进行排序。