MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

Array.prototype.concat()

Метод concat() повертає новий масив, що складається із масиву, в контексті якого метод був викликаний, поєднаного із масивом (масивами) та/або іншими значеннями, що були передані як аргументи.

Синтаксис

var new_array = old_array.concat(value1[, value2[, ...[, valueN]]])

Параметри

valueN
Масиви та значення поєднуються в новий масив. Див. пояснення нижче для для додаткової інформації.

Повернене значення

Новий екземпляр об'єкта Array.

Опис

concat створює новий масив, який складається із елементів об'єкту, в контексті якого метод був викликаний, а також із елементів кожного аргумента (якщо цей аргумент - масив) або з самого аргумента (якщо він не є масивом).

Метод concat не змінює поточний масив або будь-який з масивів, що передані як аргументи, але натомість повертає поверхневу копію, яка містить у собі копії тих елементів, які об'єднані з початкових (оригінальних) масивів. Елементи початкових масивів копіюються в новий масив таким чином:

  • Посилання на об'єкти (не поточний об'єкт): concat копіює посилання на об'єкти в новий масив. Початковий масив і новий масив - обидва посилаються на той самий об'єкт. Іншими словами, якщо об'єкт, на який посилаються, буде змінено, то зміни будуть видимими для нового та початкового масивів.
  • Рядки, числа та логічний тип даних (не об'єкти String, Number, та Boolean): 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]

Специфікації

Специфікація Статус Коментар
ECMAScript 3rd Edition (ECMA-262) Standard Початкове визначення. Реалізоване в JavaScript 1.2.
ECMAScript 5.1 (ECMA-262)
The definition of 'Array.prototype.concat' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Array.prototype.concat' in that specification.
Standard  
ECMAScript 2017 Draft (ECMA-262)
The definition of 'Array.prototype.concat' in that specification.
Draft  

Сумісність із браузерами

Особливіть Chrome Firefox (Gecko) Internet Explorer Opera Safari
Базова підтримка 1.0 1.0 (1.7 or earlier) 5.5 (Yes) (Yes)
Особливість Android Chrome для Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базова підтримка (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Див. також

  • push / pop — додавання/видалення елементів із кінця масиву
  • unshift / shift — додавання/видалення елементів із початку масиву
  • splice — додавання/видалення елементів із зазначеного місця масиву
  • String.prototype.concat()
  • Symbol.isConcatSpreadable – вирівнення контролю.

Мітки документа й учасники

 Зробили внесок у цю сторінку: piton13, Sviat
 Востаннє оновлена: piton13,