javascript同时将两个数组的元素推送到一个数组中

时间:2013-04-05 22:52:24

标签: javascript arrays push

我正在尝试找到一个同时从两个数组输入数据并将它们放入一个数组的javascript代码。我认为这会起作用,但仔细观察,它并不能完成这项工作。

var tempDeck = [];
var array1 = ["one", "two"];
var array2 = ["three", "four"];
for (i = 0; i < array1.length + array2.length; i++){
  if (i % 2 == 0){
    tempdeck.push(array1[i]);
  }else{
    tempdeck.push(array2[i]);
  }
}

我需要输出

的结果
tempdeck[0] = "one";
tempdeck[1] = "three";
tempdeck[2] = "two";
tempdeck[3] = "four";

我正在尝试避免手动将它们放入,因为数字或数组基于用户输入。 :(任何建议?

2 个答案:

答案 0 :(得分:2)

<强> jsFiddle

您应该只使用较大数组的长度,并且仅在索引i存在值时才添加。

var tempDeck = [];
var array1 = ["one", "two"];
var array2 = ["three", "four"];
var len = array1.length > array2.length ? array1.length : array2.length;
for (i = 0; i < len; i++){
  if( array1.length > i )tempDeck.push(array1[i]);
  if( array2.length > i )tempDeck.push(array2[i]);
}

答案 1 :(得分:0)

http://underscorejs.org/#union

union_.union(*阵列) 计算传入数组的并集:按顺序存在于一个或多个数组中的唯一项列表。

_。union([1,2,3],[101,2,1,10],[2,1]); =&GT; [1,2,3,101,10]