2017-02-13 66 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);