JavaScript метод concat()

JavaScript Array

Определение и применение

JavaScript метод concat() используется для объединения двух, или более массивов в один, при этом он не изменяет существующие массивы, а возвращает новый массив.

Поддержка браузерами

МетодChrome
Chrome
Firefox
Firefox
Opera
Opera
Safari
Safari
Internet Explorer
IExplorer
Microsoft Edge
Edge
concat()ДаДаДаДаДаДа

JavaScript синтаксис:

// объединение двух массивов
var newArray = firstArray.concat( secondArray )

// объединение более двух массивов
var newArray = firstArray.concat( secondArray, thirdArray, ..., xArray )

Версия JavaScript

ECMAScript 3 (реализовано в JavaScript 1.2)

Значения параметров

ПараметрОписание
array (-s)Один массив / значение, или несколько массивов / значений, перечисленных через запятую и предназначающиеся для объединения в один новый массив. Хотя бы один массив, или значение должно быть обязательно указано.

Пример использования

Объединение двух массивов

В следующем примере мы объединим массив состоящий из строковых значений с массивом числовых значений:

var firstArray = ["a", "b", "c"]; // инициализируем переменную, содержащую массив строк
var secondArray = [1, 2, 3]; // инициализируем переменную, содержащую массив чисел

var newArray = firstArray.concat( secondArray ); // объединяем массивы

console.log( newArray ); // результат ["a", "b", "c", 1, 2, 3]

Объединение нескольких массивов

В следующем примере мы объединим несколько массивов:

var firstArray = ["a", "b", "c"]; // инициализируем переменную, содержащую массив строк
var secondArray = [1, 2, 3]; // инициализируем переменную, содержащую массив чисел
var thirdArray = [true, false]; // инициализируем переменную, содержащую массив логических значений

var newArray = firstArray.concat( secondArray, thirdArray ); // объединяем массивы

console.log( newArray ); // результат ["a", "b", "c", 1, 2, 3, true, false]

Объединение массивов и значений

В следующем примере мы объединим массив со значениями, указанными в качестве аргументов метода concat():

var firstArray = ["a", "b", "c"]; // инициализируем переменную, содержащую массив строк

var newArray = firstArray.concat( 3, [2, 1] ); // объединяем массив и значения

console.log( newArray ); // результат ["a", "b", "c", 3, 2, 1]

Копирование ссылок на объекты

Метод concat() копирует ссылки на объекты в новый массив, а это означает, что как исходный, так и новый массив ссылаются на один и тот же объект. Обратите внимание, что если объект, на который ссылается ссылка, изменяется, то изменения будут видны как для новых, так и для исходных массивов. Давайте рассмотрим на следующем примере:

var thirdArray = ["z"]; // инициализируем переменную, содержащую массив со строковым значением
var firstArray = ["a", "b", "c"]; // инициализируем переменную, содержащую массив строк
var secondArray = [1, 2, thirdArray]; // инициализируем переменную, содержащую массив из числовых значений и значение ссылающееся на переменную thirdArray

var newArray = firstArray.concat( secondArray ); // объединяем массивы

console.log( newArray ); // результат ["a", "b", "c", 1, 2, "z"]

thirdArray.push( "b" ); // добавляем строковое значение в конец массива thirdArray
console.log( newArray ); // результат ["a", "b", "c", 1, 2, "z", "b"]
// Как вы видите значение переменной newArray так же было изменено
JavaScript Array