合并两个JavaScripts

时间:2017-05-18 18:28:34

标签: javascript

我有那些数组

var array = ["name1", "name2"];
var array2 = [4,5];

我需要像这样合并它们

var result = [[name1, 4], [name2, 5]]

3 个答案:

答案 0 :(得分:0)



function weave(a,b) {
  if(a.length != b.length){
    return -1;
  }
  let res = [];
  for (var i = 0; i < a.length; i++) {
    res.push([a[i],b[i]]);
  }
  return res;
}


var array = ["name1", "name2"];
var array2 = [4,5];

console.log(weave(array, array2));
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您的问题格式不正确。如果您正在寻找连接两个数组,您可以这样做:

var result = array.concat(array2);

但是,如果您尝试匹配2个数组的索引以使结果像您的示例一样(并且假设数组的长度相同),您可以这样做:

&#13;
&#13;
var array = ["name1", "name2"];
var array2 = [4, 5];

if (array.length === array2.length) {
  var result = [];
  for (i = 0; i < array.length; i++) {
    var subArray = []
    subArray.push(array[i]);
    subArray.push(array2[i]);
    result.push(subArray);
  }
  console.log(result);
}
&#13;
&#13;
&#13;

答案 2 :(得分:0)

您可以使用给定数据的数组并进行迭代。然后获取外部结果数组的内部数组的索引,并将值推送到索引。

var array1 = ["name1", "name2"],
    array2 = [4, 5],
    result = [array1, array2].reduce(function (r, a) {
         a.forEach(function (b, i) {
             r[i] = r[i] || [];
             r[i].push(b);
         });
         return r;
    }, []);

console.log(result);