Función que combina arrays en uno en JavaScript

Implementemos ahora la función merge, que acepta un número arbitrario de arrays como parámetros y combina sus elementos en un solo array.

He aquí un ejemplo del funcionamiento de nuestra función:

javascriptlet result = merge([1, 2, 3], [4, 5, 6], [7, 8, 9]);
console.log(result); // mostrará [1, 2, 3, 4, 5, 6, 7, 8, 9]

Procedamos con la implementación. Primero obtengamos los arrays pasados en forma de un único array bidimensional:

javascriptmerge([1, 2, 3], [4, 5, 6], [7, 8, 9]);

function merge(...arrs){
  console.log(arrs); // mostrará [ [1, 2, 3,] [4, 5, 6], [7, 8, 9] ]
}

Ahora combinemos este array bidimensional en uno unidimensional. Usemos para ello el método concat y el operador spread:

javascriptlet arrs   = [ [1, 2, 3,], [4, 5, 6], [7, 8, 9] ];

let result = [].concat(...arrs);
console.log(result); // mostrará [1, 2, 3, 4, 5, 6, 7, 8, 9]

Añadamos este código a nuestra función merge:

javascriptfunction merge(...arrs) {
  return [].concat(...arrs);
}

let result = merge([1, 2, 3], [4, 5, 6], [7, 8, 9]);
console.log(result); // mostrará [1, 2, 3, 4, 5, 6, 7, 8, 9]

Como puede ver, esta función también resultó ser muy concisa.