Функция, сливающая массивы в один в JavaScript

Давайте теперь реализуем функцию merge, параметрами принимающую произвольное количество массивов и сливающую их элементы в один массив.

Вот пример работы нашей функции:

javascriptlet result = merge([1, 2, 3], [4, 5, 6], [7, 8, 9]);
console.log(result); // выведет [1, 2, 3, 4, 5, 6, 7, 8, 9]

Приступим к реализации. Давайте для начала получим переданные массивы в виде одного двухмерного:

javascriptmerge([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:

javascriptlet 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:

javascriptfunction 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]

Как вы видите, эта функция также получилась очень лаконичной.