Funzione che unisce gli array in uno in JavaScript

Ora implementiamo la funzione merge, che accetta un numero arbitrario di array come parametri e unisce i loro elementi in un unico array.

Ecco un esempio del funzionamento della nostra funzione:

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

Iniziamo l'implementazione. Per cominciare, otteniamo gli array passati sotto forma di un unico array bidimensionale:

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

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

Ora uniamo questo array bidimensionale in uno unidimensionale. Usiamo a questo scopo il metodo concat e l'operatore spread:

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

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

Aggiungiamo questo codice alla nostra funzione merge:

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

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

Come puoi vedere, anche questa funzione risulta molto concisa.