Funkce pro sloučení polí do jednoho v JavaScriptu
Nyní implementujme funkci merge,
která přijme libovolný počet polí jako parametry
a sloučí jejich prvky do jednoho pole.
Zde je příklad práce naší funkce:
let result = merge([1, 2, 3], [4, 5, 6], [7, 8, 9]);
console.log(result); // vypíše [1, 2, 3, 4, 5, 6, 7, 8, 9]
Pojďme s implementací. Nejprve získáme předaná pole ve formě jednoho dvourozměrného pole:
merge([1, 2, 3], [4, 5, 6], [7, 8, 9]);
function merge(...arrs){
console.log(arrs); // vypíše [ [1, 2, 3,] [4, 5, 6], [7, 8, 9] ]
}
Nyní slučme toto dvourozměrné pole
do jednorozměrného. Použijeme k tomu metodu
concat a operátor spread:
let arrs = [ [1, 2, 3,], [4, 5, 6], [7, 8, 9] ];
let result = [].concat(...arrs);
console.log(result); // vypíše [1, 2, 3, 4, 5, 6, 7, 8, 9]
Nyní přidejme tento kód do naší funkce merge:
function merge(...arrs) {
return [].concat(...arrs);
}
let result = merge([1, 2, 3], [4, 5, 6], [7, 8, 9]);
console.log(result); // vypíše [1, 2, 3, 4, 5, 6, 7, 8, 9]
Jak vidíte, tato funkce je také velmi stručná.