Функцыя, якая аб'ядноўвае масівы ў адзін у JavaScript
Давайце цяпер рэалізуем функцыю merge,
параметрамі якой прымаецца адвольная колькасць
масіваў і аб'ядноўвае іх элементы ў адзін масіў.
Вось прыклад працы нашай функцыі:
let result = merge([1, 2, 3], [4, 5, 6], [7, 8, 9]);
console.log(result); // выведзе [1, 2, 3, 4, 5, 6, 7, 8, 9]
Прыступім да рэалізацыі. Давайце для пачатку атрымаем перададзеныя масівы ў выглядзе аднаго двухмернага:
merge([1, 2, 3], [4, 5, 6], [7, 8, 9]);
function merge(...arrs){
console.log(arrs); // выведзе [ [1, 2, 3,] [4, 5, 6], [7, 8, 9] ]
}
Давайце цяпер аб'яднаем гэты двухмерны масіў
у аднамерны. Выкарастаем для гэтага метад
concat і аператар spread:
let arrs = [ [1, 2, 3,], [4, 5, 6], [7, 8, 9] ];
let result = [].concat(...arrs);
console.log(result); // выведзе [1, 2, 3, 4, 5, 6, 7, 8, 9]
Давайце дадамо гэты код у нашу функцыю merge:
function merge(...arrs) {
return [].concat(...arrs);
}
let result = merge([1, 2, 3], [4, 5, 6], [7, 8, 9]);
console.log(result); // выведзе [1, 2, 3, 4, 5, 6, 7, 8, 9]
Як вы бачыце, гэтая функцыя таксама атрымалася вельмі лаканічнай.