--- title: Array.prototype.concat() slug: Web/JavaScript/Reference/Global_Objects/Array/concat tags: - Array - JavaScript - Method - Prototype translation_of: Web/JavaScript/Reference/Global_Objects/Array/concat ---
Метод concat()
возвращает новый массив, состоящий из массива, на котором он был вызван, соединённого с другими массивами и/или значениями, переданными в качестве аргументов.
Источник этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, скопируйте https://github.com/mdn/interactive-examples и отправьте нам запрос на перенос.
var new_array = old_array.concat(value1[, value2[, ...[, valueN]]])
valueN
Новый экземпляр {{jsxref("Array")}}.
Метод concat
создаёт новый массив, состоящий из элементов в объекте, на котором он был вызван, за которыми по порядку следуют, для каждого аргумента, все его элементы (если аргумент является массивом), либо сам аргумент (если он массивом не является).
Метод concat
не изменяет данный массив или любой из массивов, переданных в аргументах, а вместо этого возвращает поверхностную копию, содержащую копии тех элементов, что были объединены с исходными массивами. Элементы оригинальных массивов копируются в новый массив по следующим правилам:
concat
копирует ссылки на объекты в новый массив. И оригинал, и новый массив ссылаются на один и тот же объект. То есть, если объект по ссылке будет изменён, изменения будут видны и в новом, и в исходном массивах.concat
копирует значения строк и чисел в новый массив.Примечание: Соединение массивов и/или значений в новый массив оставит соединяемые массивы/значения неизменными. Кроме того, любая операция над новым массивом (если только элемент не является ссылкой) не будет затрагивать исходные массивы и наоборот.
Следующий код соединяет два массива:
var alpha = ['a', 'b', 'c'], numeric = [1, 2, 3]; var alphaNumeric = alpha.concat(numeric); console.log(alphaNumeric); // Результат: ['a', 'b', 'c', 1, 2, 3]
Следующий код соединяет три массива:
var num1 = [1, 2, 3], num2 = [4, 5, 6], num3 = [7, 8, 9]; var nums = num1.concat(num2, num3); console.log(nums); // Результат: [1, 2, 3, 4, 5, 6, 7, 8, 9]
Следующий код соединяет три значения в массив:
var alpha = ['a', 'b', 'c']; var alphaNumeric = alpha.concat(1, [2, 3]); console.log(alphaNumeric); // Результат: ['a', 'b', 'c', 1, 2, 3]
Спецификация | Статус | Комментарии |
---|---|---|
{{SpecName('ES3')}} | {{Spec2('ES3')}} | Изначальное определение. Реализована в JavaScript 1.2. |
{{SpecName('ES5.1', '#sec-15.4.4.4', 'Array.prototype.concat')}} | {{Spec2('ES5.1')}} | |
{{SpecName('ES6', '#sec-array.prototype.concat', 'Array.prototype.concat')}} | {{Spec2('ES6')}} | |
{{SpecName('ESDraft', '#sec-array.prototype.concat', 'Array.prototype.concat')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.Array.concat")}}