Funkcija za združevanje polj v eno v JavaScript

Zdaj pa implementirajmo funkcijo merge, ki sprejme poljubno število polj kot parametre in združi njihove elemente v eno polje.

Tu je primer delovanja naše funkcije:

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

Začnimo z implementacijo. Najprej pridobimo podana polja v obliki enega dvodimenzionalnega polja:

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

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

Zdaj pa združimo to dvodimenzionalno polje v enodimenzionalno. Uporabimo metodo concat in operater spread:

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

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

Dodajmo to kodo v našo funkcijo merge:

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

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

Kot lahko vidite, se je tudi ta funkcija izkazala za zelo jedrnato.