Preparé 3 arreglos, que me gustaría combinar en uno:
let array1 = [ ["Col1", "Col2", "Col3"], ["Data1","Data2","Data3"] ] let array2 = [ ["Col5", "Col10", "Col21"], ["Data5","Data10","Data21"] ] let array3 = [ ["Col8", "Col11"], ["Data8","Data11"] ]¿Cómo puedo hacerlo así?
resultingArray = [ ["Col1", "Col2", "Col3","Col5", "Col10", "Col21","Col8", "Col11"], ["Data1","Data2","Data3","Data5","Data10","Data21","Data8","Data11"] ]donde el orden de las columnas no importa.
Intenté usar push() , ... el operador de propagación y concat() , pero no pude aplicarlo correctamente.
¡gracias!
Tal vez algo así
let array1 = [ ["Col1", "Col2", "Col3"], ["Data1", "Data2", "Data3"] ] let array2 = [ ["Col5", "Col10", "Col21"], ["Data5", "Data10", "Data21"] ] let array3 = [ ["Col8", "Col11"], ["Data8", "Data11"] ] const arrays = [array1, array2, array3] const res = arrays.reduce((acc, [cols, data]) => [[...acc[0], ...cols], [...acc[1], ...data]], [[], []])Descripción
Puede Array.concat cada fila de las 3 matrices en 1 fila.
Guion
let combined = array1.map( (row,i) => row.concat(array2[i],array3[i]) ); console.log(combined);Consola.log
12:12:18 PM Notice Execution started 12:12:19 PM Info [ [ 'Col1', 'Col2', 'Col3', 'Col5', 'Col10', 'Col21', 'Col8', 'Col11' ], [ 'Data1', 'Data2', 'Data3', 'Data5', 'Data10', 'Data21', 'Data8', 'Data11' ] ] 12:12:18 PM Notice Execution completedReferencia
function myFunction() { let a1 = [["Col1", "Col2", "Col3"], ["Data1", "Data2", "Data3"]]; let a2 = [["Col5", "Col10", "Col21"], ["Data5", "Data10", "Data21"]]; let a3 = [["Col8", "Col11"], ["Data8", "Data11"]]; Logger.log([[...a1[0],...a2[0],...a3[0]],[...a1[1],...a2[1],...a3[1]]]); }