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:
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]
Vamos começar a implementação. Primeiro, vamos obter os arrays passados como um único array bidimensional:
merge([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:
let 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:
function 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.