2017-02-13 2 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"} 

это array1 [] является динамическим массивом, как мы можем создать окончательную скороговорку массива динамически как array1 [] может иметь много количества элементовСоздание Sub массива с помощью Javascript - Dynamic

+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

Я обновил ответ. Это по-прежнему одно и то же решение карты, но результат сохраняется в свойстве «Данные». –

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

Смежные вопросы