Как объединить два массива
Короткий ответ
Раскройте оба массива внутри новых квадратных скобок:
const a = [1, 2];
const b = [3, 4];
console.log([...a, ...b].join(', '));Результат:
1, 2, 3, 4Метод concat
То же самое делает concat(). Оба способа создают новый массив и не меняют исходные:
console.log([1, 2].concat([3, 4]).join(', '));Результат:
1, 2, 3, 4Без повторов
Пропустите результат через Set:
console.log([...new Set([...[1, 2], ...[2, 3]])].join(', '));Результат:
1, 2, 3Добавить в существующий массив
Чтобы добавить элементы одного массива в другой на месте, используйте push() с ...:
const cart = ['tea'];
const more = ['cake', 'coffee'];
cart.push(...more);
console.log(cart.join(', '));Результат:
tea, cake, coffeeЧастая ошибка
push() без ... добавляет весь массив одним вложенным элементом:
const cart = ['tea'];
cart.push(['cake', 'coffee']);
console.log(cart.length, JSON.stringify(cart));Результат:
2 ["tea",["cake","coffee"]]Функции из этого ответа
- Array.prototype.concat — Объединяет массивы в новый массив.
- Array.prototype.push — Добавляет элементы в конец массива.
- Set — Коллекция уникальных значений.