Função que mescla arrays em um só em JavaScript

Vamos agora implementar a função merge, que aceita um número arbitrário de arrays como parâmetros e mescla seus elementos em um único array.

Aqui está um exemplo de como nossa função funciona:

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

Vamos começar a implementação. Primeiro, vamos obter os arrays passados como um único array bidimensional:

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

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

Agora, vamos fundir este array bidimensional em um array unidimensional. Vamos usar o método concat e o operador spread:

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

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

Agora, vamos adicionar este código à nossa função merge:

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

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

Como você pode ver, esta função também acabou sendo muito concisa.