0

У меня есть четыре массива, которые я хочу использовать для объединения и изменения. Я хочу использовать их в google visualization columnChart. Вот они сначала.Объедините множество массивов, чтобы сделать один модифицированный массив

var arrayOne = [1, 2, 3, 4, 5, 6]; 
var arrayTwo = [2, 3, 4, 5, 6, 7]; 
var arrayThree = [3, 4, 5, 6, 7, 8]; 
var arrayFour = ['one', 'two', 'three', 'four', 'five', 'six']; 

Я хочу преобразовать их в список как таковой. С текстом от arrayFour в первой позиции новой arra с относительным индексом из каждого массива для создания многомерного массива с шестью массивами; Численный порядок чисел в каждом массиве не имеет значения, но представляет собой целое число.

var allArray = [['one', 1, 2, 3], 
['two', 2, 3, 4], 
['three', 3, 4, 5], 
['four', 4, 5, 6], 
['five', 5, 6, 7], 
['six', 6, 7, 8]]; 
+1

А что вы пробовали уже? –

ответ

0

Там, вероятно, некоторые быстрее подход, но это самый простой:

var arrayOne = [1, 2, 3, 4, 5, 6]; 
var arrayTwo = [2, 3, 4, 5, 6, 7]; 
var arrayThree = [3, 4, 5, 6, 7, 8]; 
var arrayFour = ['one', 'two', 'three', 'four', 'five', 'six']; 
var arrayLength = arrayOne.length; 

var arrayOutput = []; 

for(var i = 0; i < arrayLength; i++) 
{ 
    arrayOutput.push([ 
     arrayFour[i], 
     arrayOne[i], 
     arrayTwo[i], 
     arrayThree[i] 
    ]); 
} 

console.log(arrayOutput); 
0
var arrays = [arrayFour, arrayOne, arrayTwo, arrayThree]; 
var maxLen = Math.max.apply(null, arrays.map(function(currentItem) { 
    return currentItem.length; 
})); 
var result = []; 
for (var i = 0; i < maxLen; i += 1) { 
    var tempArray = []; 
    for (var j = 0; j < arrays.length; j += 1) { 
     tempArray.push(arrays[j][i]); 
    } 
    result.push(tempArray); 
} 
console.log(result); 

Выход

[ [ 'one', 1, 2, 3 ], 
    [ 'two', 2, 3, 4 ], 
    [ 'three', 3, 4, 5 ], 
    [ 'four', 4, 5, 6 ], 
    [ 'five', 5, 6, 7 ], 
    [ 'six', 6, 7, 8 ] ] 
Смежные вопросы