De concat()
methode geeft een nieuwe array terug bestaande uit de array waarop het is aangeroepen samengevoegd met de array(s) en/of waarden die zijn geleverd als argumenten.
Syntax
var nieuwe_array = oude_array.concat(waarde1[, waarde2[, ...[, waardeN]]])
Parameters
waardeN
- Arrays en/of waarden om te concateneren in een nieuwe array. Zie de beschrijving voor details.
Beschrijving
concat
maakt een nieuwe array bestaande uit de elementen in het object waarop het is aangeroepen, gevolgd door voor ieder argument de elementen van dat argument (als het argument een array is) of het argument zelf (als het argument geen array is).
concat
veranderd this
niet en ook niet de als argument gegeven arrays, maar levert in plaats daarvan een shallow copy welke kopiën bevat van dezelfde elementen gecombineerd van de orginele arrays. Elementen van de orginele arrays worden als volgt gekopieerd in de nieuwe array:
- Objectreferenties (en niet het daardwerkelijke object):
concat
kopieert objectreferenties in de nieuwe array. Zowel de orginele array als de nieuwe array verwijzen naar dezelfde objecten. Dit betekent, als een verwezen object gewijzigd wordt, de wijzigingen zichtbaar zijn in zowel de nieuwe als de orginele array. - Strings en getallen (niet
String
enNumber
objects):concat
kopieert de waarden van strings en getallen in de nieuwe array.
Opmerking: Concateneren van array(s)/waarde(n) laat de orginelen onaangetast. Bovendien zal iedere operatie op de nieuwe array geen effect hebben op de orginele array en vice versa.
Voorbeelden
Concateneren twee arrays
De volgende code concateneert twee arrays
var alfa = ['a', 'b', 'c'], nummer = [1, 2, 3]; var alfaNummeriek = alfa.concat( nummer ); console.log(alfaNummeriek); // Resultaat: ['a', 'b', 'c', 1, 2, 3]
Concateneren drie arrays
De volgende code concateneert drie arrays
var num1 = [1, 2, 3], num2 = [4, 5, 6], num3 = [7, 8, 9]; var nums = num1.concat(num2, num3); console.log(nums); // Resultaat: [1, 2, 3, 4, 5, 6, 7, 8, 9]
Concateneren waarden naar een array
De volgende code concateneert drie waarden naar een array:
var alfa = ['a', 'b', 'c']; var alfaNumeriek = alfa.concat(1, [2, 3]); console.log( alfaNumeriek); // Resultaat: ['a', 'b', 'c', 1, 2, 3]
Specificaties
Specificatie | Status | Opmerking |
---|---|---|
ECMAScript 3rd Edition (ECMA-262) | Standard | Eerste definitie. Geïmplementeerd in 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 |
Browser compatibiliteid
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basis support | 1.0 | 1.0 (1.7 or earlier) | 5.5 | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basis support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Zie ook
push
/pop
— toevoegen/verwijderen van elementen aan het einde van de arrayunshift
/shift
— toevoegen/verwijderen van elementen aan het begin van de arraysplice
— toevoegen/verwijderen van elementen op een gespecificeerde locatie van de arrayString.prototype.concat()
Symbol.isConcatSpreadable
– control flattening.