Die Methode concat() konkateniert Arrays. Sie gibt ein neues Array zurück, das 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 mit dem aktuellen zu einem neuen 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):
concatkopiert 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,NumberundBooleanObjekte):concatkopiert 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.