如何在JavaScript中组合数组?

如何在JavaScript中组合数组?,javascript,arrays,Javascript,Arrays,如何在JavaScript中组合这两个数组,以便得到以下结果: var arrayOne = [a,b,c]; var arrayTwo = [d,e,f]; 注意:这不是连接两个数组。这是合并两个数组,使索引看起来像[0,0,1,1,2,2]假设两个数组的长度相等,这应该可以做到: var array = [a,d,b,e,c,f]; var c = [a,e,b,f,c,d]; 我假设您希望得到以下结果 var a = [a,b,c,d]; var b = [e,f]; 这应该

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

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

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

假设两个数组的长度相等,这应该可以做到:

var array = [a,d,b,e,c,f];
var c = [a,e,b,f,c,d];
我假设您希望得到以下结果

var a = [a,b,c,d];
var b = [e,f];
这应该可以做到:

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

您可以将jQuery的独特方法与concat一起使用

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 = []

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

var arrayTre=arrayOne.concat(arrayTwo);道歉-编辑已澄清。您可能正在寻找类似下划线.js的
\uzip
函数。我不同意这些否决票+1因为不必要的否决权。她没有说她想连接数组。即使她这样做了,也不会成为否决投票的理由。@NoelWidmer并不是说我否决了投票,但公平地说,这仍然是一个非常基本的问题。+1这个问题是一个很好的例子,说明有多少人(即使是高代表)对问题读得不够透彻,但很快就投票结束了。所以,如果它们的长度不相同怎么办?有一件重要的事情值得一提:在这个操作结束时,a和b将为空。这并不能解决这个问题,因为这是关于组合数组,而不是关于连接到的数组的唯一性。