我试图找到一个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";


我试图避免手动放置它们,因为数字或数组基于用户输入。 :( 有什么建议么?

最佳答案

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]);
}

关于javascript - javascript同时将两个数组的元素插入一个数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15844913/

10-09 17:25