Переклад не закінчено. Будь ласка, допоможіть перекласти цю статтю з англійської.
Метод concat()
повертає новий масив, що складається із масиву, в контексті якого метод був викликаний, поєднаного із масивом (масивами) та/або іншими значеннями, що були передані як аргументи.
Синтаксис
var new_array = old_array.concat(value1[, value2[, ...[, valueN]]])
Параметри
valueN
- Масиви та значення поєднуються в новий масив. Див. пояснення нижче для для додаткової інформації.
Повернене значення
Новий екземпляр об'єкта Array
.
Опис
concat
створює новий масив, який складається із елементів об'єкту, в контексті якого метод був викликаний, а також із елементів кожного аргумента (якщо цей аргумент - масив) або з самого аргумента (якщо він не є масивом).
concat
не змінює this
або будь-який з масивів, що передані як аргументи. Натомість, метод concat
повертає просту копію, що містить у собі копії тих самих елементів, об'єднаних із початкових (оригінальних) масивів. Елементи початкових масивів копіюються в новий масив таким чином:
- Посилання на об'єкти (не поточний об'єкт):
concat
копіює посилання на об'єкти в новий масив. Початковий масив і новий масив - обидва посилаються на той самий об'єкт. Іншими словами, якщо об'єкт, на який посилаються, буде змінено, то зміни будуть видимими для нового та початкового масивів. - Рядки, числа та логічний тип даних (не об'єкти
String
,Number
, таBoolean
):concat
копіює значення рядків та чисел у новий масив.
Примітка: об'єднання масиву (масивів) чи значення (значень) не змінить початкові (оригінальні) дані. Більше того, будь-яка операція над новим масивом (тільки якщо елемент не є посиланням на об'єкт) не матиме жодного впливу на початкові масиви, і навпаки.
Приклади
Об'єднання двох масивів
Наступний код об'єднує два масиви:
var alpha = ['a', 'b', 'c'], numeric = [1, 2, 3]; var alphaNumeric = alpha.concat(numeric); console.log(alphaNumeric); // Result: ['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); // Result: [1, 2, 3, 4, 5, 6, 7, 8, 9]
Об'єднання значень у масив
Наступний код об'єднує три значення в масив:
var alpha = ['a', 'b', 'c']; var alphaNumeric = alpha.concat(1, [2, 3]); console.log(alphaNumeric); // Result: ['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
– вирівнення контролю.