Array.prototype.concat()

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 und Boolean 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

Schlagwörter des Dokuments und Mitwirkende

Schlagwörter: 
 Mitwirkende an dieser Seite: schlagi123, pecoes, oliver-j, FelixSebastianLange
 Zuletzt aktualisiert von: schlagi123,