Funkcja łącząca tablice w jedną w JavaScript

Zaimplementujmy teraz funkcję merge, która przyjmuje dowolną liczbę tablic jako parametry i łączy ich elementy w jedną tablicę.

Oto przykład działania naszej funkcji:

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

Przystąpmy do implementacji. Na początek pobierzmy przekazane tablice w postaci jednej tablicy dwuwymiarowej:

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

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

Połączmy teraz tę dwuwymiarową tablicę w jednowymiarową. Użyjemy do tego metody concat i operatora spread:

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

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

Dodajmy teraz ten kod do naszej funkcji merge:

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

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

Jak widać, ta funkcja również okazała się bardzo zwięzła.