我正在尝试找到一个同时从两个数组输入数据并将它们放入一个数组的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";
我正在尝试避免手动将它们放入,因为数字或数组基于用户输入。 :(任何建议?
答案 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]