JavaScript метод concat()
JavaScript ArrayОпределение и применение
JavaScript метод concat() используется для объединения двух, или более массивов в один, при этом он не изменяет существующие массивы, а возвращает новый массив.
Поддержка браузерами
Метод | Chrome | Firefox | Opera | Safari | IExplorer | 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