Die Methode concat()
konkateniert Arrays. Sie gibt einen neuen Array zurück, der aus dem als Argument übergebenen Array und/oder den übergebenen Werten sowie dem Array besteht, auf dem diese Methode aufgerufen wurde.
Syntax
var new_array = old_array.concat(value1[, value2[, ...[, valueN]]])
Parameter
valueN
- Arrays und/oder Werte, die zu ein neues Array konkateniert werden sollen. Siehe die Beschreibung für Details.
Rückgabewert
Eine neue Array
Instanz.
Beschreibung
concat
generiert ein neues Array. Dieses besteht aus den Elementen des Arrays, auf dem diese Methode aufgerufen wurde, gefolgt von dem Element oder den Elementen, die als Argument übergeben wurden.
concat
verändert nicht this
oder eines der übergebenen Argumente, sondern gibt eine flache Kopie (shallow copy) zurück, die Kopien der Elemente in den ursprünglichen Arrays enthält. Elemente der ursprünglichen Arrays werden folgendermaßen in das neue Array kopiert:
- Objektreferenzen (und nicht das eigentliche Objekt):
concat
kopiert Objektreferenzen in das neue Array. Sowohl das ursprüngliche Array als auch das neue Array zeigen auf das gleiche Objekt. Das heißt, wenn ein referiertes Objekt verändert wird, sind diese Änderungen sowohl im neuen als auch in den ursprünglichen Arrays sichtbar. - Zeichenketten (Strings), Zahlen und Booleane (nicht
String
,Number
undBoolean
Objekte):concat
kopiert die Werte von Strings und Zahlen in das neue Array.
Anmerkung: Die Konkatenierung von Arrays und Werten verändert die Ausgangswerte und -objekte nicht. Etwaige weitere Operationen auf dem neuen Array (nur wenn Elemente keine Objekt-Referenz sind) haben keine Auswirkungen auf die Ausgangsarrays und umgekehrt.
Beispiele
Beispiel: Konkatenierung zweier Arrays
Der folgende Quellcode konkateniert zwei Arrays:
var alpha = ['a', 'b', 'c'], numeric = [1, 2, 3]; var alphaNumeric = alpha.concat(numeric); console.log(alphaNumeric); // Result: ['a', 'b', 'c', 1, 2, 3]
Beispiel: Konkatenierung von drei Arrays
Der folgende Quellcode konkateniert drei Arrays:
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]
Beispiel: Konkatenierung von Werten in ein Array
Der folgende Quellcode konkateniert drei Werte in ein Array:
var alpha = ['a', 'b', 'c']; var alphaNumeric = alpha.concat(1, [2, 3]); console.log(alphaNumeric); // Result: ['a', 'b', 'c', 1, 2, 3]
Spezifikationen
Spezifikation | Status | Kommentar |
---|---|---|
ECMAScript 3rd Edition (ECMA-262) | Standard | Initiale Definition. Implementiert in JavaScript 1.2. |
ECMAScript 5.1 (ECMA-262) Die Definition von 'Array.prototype.concat' in dieser Spezifikation. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) Die Definition von 'Array.prototype.concat' in dieser Spezifikation. |
Standard | |
ECMAScript 2017 Draft (ECMA-262) Die Definition von 'Array.prototype.concat' in dieser Spezifikation. |
Entwurf |
Browserkompatibilität
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 1.0 | 1.0 (1.7 oder früher) | 5.5 | (Ja) | (Ja) |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) |
Siehe auch
push
/pop
— Konkateniere/entferne Elemente am Ende des Arrays.unshift
/shift
— Konkateniere/entferne Elemente am Beginn des Arrays.splice
— Konkateniere/entferne Elemente an der angegebenen Stelle im Array.String.prototype.concat()
Symbol.isConcatSpreadable
– Kontrolle über flaches Konkatinieren.