使用Javascript创建子数组 - 动态

时间:2017-02-13 16:12:38

标签: javascript

var array1 = [1,2,3...] //dynamic array
var array2 = [1,2,3...] //dynamic array
var array3 = [1,2,3...] //dynamic array

var Data= { 
        Finalarray = [{Array1: array1[0], Array2: array2[0], Array3:array3[0]},
                      {Array1: array1[1], Array2: array2[1], Array3: array3[1]}
                      {Array1: array1[2], Array2: array2[2], Array3: array3[2]}],
        Test="test"}

这是array1 []是动态数组,我们如何动态创建最终数组模式,因为array1 []可以包含许多元素

2 个答案:

答案 0 :(得分:2)

如果我理解你的话,总会有3个阵列,但你不知道每个阵列中有多少个成员。如果数组的长度都相同,则可以使用Array.prototype.map而不是一个,并使用当前索引从其他两个中获取成员。



var array1 = [1, 2, 3, 4, 5];
var array2 = [5, 4, 3, 2, 1];
var array3 = [3, 5, 1, 4, 2];

var Data = {
  Finalarray: array1.map(function(n, i) {
    return { Array1: n, Array2: array2[i], Array3: array3[i] };
  }),
  Test: "test"
};

console.log(Data);




答案 1 :(得分:2)

我认为您正在寻找的是.map()功能。你可以这样做:



var array1 = [1,2,3] //dynamic array
var array2 = [2,3,4] //dynamic array
var array3 = [3,4,5] //dynamic array

var Finalarray = array1.map(function (element, index) {
  return {
    Array1: element,
    Array2: array2[index],
    Array3: array3[index]
  };
});

console.log(Finalarray);