2017-02-13 67 views
-3
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"} 

这是数组1 []是动态数组,我们如何能够动态地创建最终的阵列图案作为数组1 []可以有很多数量的元素使用JavaScript创建子阵列 - 动态

+0

不清楚是什么要求。 – guest271314

回答

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

+0

我已更新我的问题,请检查 –

+0

看起来您所做的唯一更改就是存储结果的位置。我会更新解决方案以反映这一变化。 –

+0

我更新了答案。它仍然是相同的地图解决方案,但结果存储在'Data'的属性中。 –

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