concat() в JavaScript
- Что делает concat()
- Синтаксис
- Объединение двух массивов
- Несколько массивов
- Добавление значений
- Исходные массивы не меняются
- concat() и spread
- Итого
concat() объединяет массивы и возвращает новый массив.
let frontend = ['HTML', 'CSS'];
let backend = ['Node.js', 'PHP'];
let skills = frontend.concat(backend);
console.log(skills);
Результат:
['HTML', 'CSS', 'Node.js', 'PHP']
Что делает concat()
concat() берет элементы из одного массива и добавляет к ним элементы из другого массива.
Метод не меняет исходные массивы. Он возвращает новый массив с объединенными элементами.
let first = [1, 2];
let second = [3, 4];
let result = first.concat(second);
console.log(result); // [1, 2, 3, 4]
Синтаксис
Основная запись выглядит так:
array.concat(value1, value2)
value1, value2 и следующие значения - это массивы или отдельные элементы, которые нужно добавить.
let numbers = [1, 2];
let result = numbers.concat([3, 4]);
console.log(result);
Результат:
[1, 2, 3, 4]
Объединение двух массивов
Чаще всего concat() используют, чтобы объединить два массива.
let oldTasks = ['HTML', 'CSS'];
let newTasks = ['JavaScript', 'React'];
let allTasks = oldTasks.concat(newTasks);
console.log(allTasks);
Результат:
['HTML', 'CSS', 'JavaScript', 'React']
Порядок сохраняется: сначала идут элементы массива oldTasks, потом элементы массива newTasks.
Несколько массивов
В concat() можно передать сразу несколько массивов.
let first = [1, 2];
let second = [3, 4];
let third = [5, 6];
let numbers = first.concat(second, third);
console.log(numbers);
Результат:
[1, 2, 3, 4, 5, 6]
Добавление значений
concat() умеет добавлять не только массивы, но и отдельные значения.
let numbers = [1, 2];
let result = numbers.concat(3, 4);
console.log(result);
Результат:
[1, 2, 3, 4]
Можно смешивать массивы и отдельные значения.
let numbers = [1, 2];
let result = numbers.concat([3, 4], 5);
console.log(result); // [1, 2, 3, 4, 5]
Исходные массивы не меняются
concat() не изменяет массив, у которого вызван, и не изменяет массивы, которые передали в аргументы.
let first = ['a', 'b'];
let second = ['c', 'd'];
let result = first.concat(second);
console.log(first); // ['a', 'b']
console.log(second); // ['c', 'd']
console.log(result); // ['a', 'b', 'c', 'd']
Если нужен объединенный массив, результат нужно сохранить в переменную.
let first = [1, 2];
let second = [3, 4];
first.concat(second);
console.log(first); // [1, 2]
concat() и spread
В современном коде для объединения массивов часто используют spread-оператор ….
let first = [1, 2];
let second = [3, 4];
let result = [...first, ...second];
console.log(result); // [1, 2, 3, 4]
concat() тоже остается нормальным способом. Особенно если в проекте уже используют такой стиль или нужно последовательно объединить несколько значений.
let result = first.concat(second, [5, 6]);
Итого
concat() объединяет массивы и возвращает новый массив.
array.concat(value)добавляет значения к массиву и возвращает результат.- В
concat()можно передать один или несколько массивов. - Можно добавлять отдельные значения.
- Исходные массивы после вызова
concat()не меняются. - Если результат нужен дальше, его нужно сохранить в переменную.