Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. Eingebaute Standardobjekte
  5. Array
  6. concat()

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

Array.prototype.concat()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.

Dieconcat()-Methode vonArray-Instanzen wird verwendet, um zwei oder mehr Arrays zu verknüpfen.Diese Methode ändert die bestehenden Arrays nicht, sondern gibt stattdessen ein neues Array zurück.

Probieren Sie es aus

const array1 = ["a", "b", "c"];const array2 = ["d", "e", "f"];const array3 = array1.concat(array2);console.log(array3);// Expected output: Array ["a", "b", "c", "d", "e", "f"]

Syntax

js
concat()concat(value1)concat(value1, value2)concat(value1, value2, /* …, */ valueN)

Parameter

value1, …,valueNOptional

Arrays und/oder Werte, die zu einem neuen Array verkettet werden sollen. Wenn allevalueN Parameter weggelassen werden, gibtconcat eineflache Kopie des bestehenden Arrays zurück, auf dem sie aufgerufen wird. Siehe die Beschreibung untenfür weitere Details.

Rückgabewert

Eine neueArray Instanz.

Beschreibung

Dieconcat-Methode erstellt ein neues Array. Das Array wird zuerst mit den Elementen des Objekts gefüllt, auf dem es aufgerufen wird. Dann wird für jedes Argument der entsprechende Wert dem Array verkettet – für normale Objekte oder Primitive wird das Argument selbst ein Element des endgültigen Arrays; für Arrays oder array-ähnliche Objekte mit der EigenschaftSymbol.isConcatSpreadable, die auf einen wahrheitsgemäßen Wert gesetzt ist, wird jedes Element des Arguments unabhängig dem endgültigen Array hinzugefügt. Dieconcat-Methode rekursiert nicht in verschachtelten Array-Argumenten.

Dieconcat()-Methode ist einekopierende Methode. Sie ändert wederthis noch eines der übergebenen Arrays, sondern gibt eineflache Kopie zurück, die die gleichen Elemente wie die der ursprünglichen Arrays enthält.

Dieconcat()-Methode bewahrt leere Stellen, wenn eines der Quellarraysspärlich ist.

Dieconcat()-Methode istgenerisch. Derthis-Wert wird auf die gleiche Weise wie die anderen Argumente behandelt (außer dass er zuerst in ein Objekt konvertiert wird), was bedeutet, dass einfache Objekte direkt vor das resultierende Array gestellt werden, während array-ähnliche Objekte mit wahrheitsgemäßem[Symbol.isConcatSpreadable] in das resultierende Array verteilt werden.

Beispiele

Verketten von zwei Arrays

Der folgende Code verkettet zwei Arrays:

js
const letters = ["a", "b", "c"];const numbers = [1, 2, 3];const alphaNumeric = letters.concat(numbers);console.log(alphaNumeric);// results in ['a', 'b', 'c', 1, 2, 3]

Verketten von drei Arrays

Der folgende Code verkettet drei Arrays:

js
const num1 = [1, 2, 3];const num2 = [4, 5, 6];const num3 = [7, 8, 9];const numbers = num1.concat(num2, num3);console.log(numbers);// results in [1, 2, 3, 4, 5, 6, 7, 8, 9]

Verketten von Werten zu einem Array

Der folgende Code verkettet drei Werte zu einem Array:

js
const letters = ["a", "b", "c"];const alphaNumeric = letters.concat(1, [2, 3]);console.log(alphaNumeric);// results in ['a', 'b', 'c', 1, 2, 3]

Verketten von verschachtelten Arrays

Der folgende Code verkettet verschachtelte Arrays und demonstriert die Beibehaltung von Referenzen:

js
const num1 = [[1]];const num2 = [2, [3]];const numbers = num1.concat(num2);console.log(numbers);// results in [[1], 2, [3]]// modify the first element of num1num1[0].push(4);console.log(numbers);// results in [[1, 4], 2, [3]]

Verketten von array-ähnlichen Objekten mit Symbol.isConcatSpreadable

concat behandelt nicht standardmäßig alle array-ähnlichen Objekte als Arrays – nur wennSymbol.isConcatSpreadable auf einen wahrheitsgemäßen Wert (z.B.true) gesetzt ist.

js
const obj1 = { 0: 1, 1: 2, 2: 3, length: 3 };const obj2 = { 0: 1, 1: 2, 2: 3, length: 3, [Symbol.isConcatSpreadable]: true };console.log([0].concat(obj1, obj2));// [ 0, { '0': 1, '1': 2, '2': 3, length: 3 }, 1, 2, 3 ]

Verwendung von concat() auf spärlichen Arrays

Wenn eines der Quellarrays spärlich ist, wird das resultierende Array ebenfalls spärlich sein:

js
console.log([1, , 3].concat([4, 5])); // [1, empty, 3, 4, 5]console.log([1, 2].concat([3, , 5])); // [1, 2, 3, empty, 5]

Aufrufen von concat() auf Nicht-Array-Objekten

Wenn derthis-Wert kein Array ist, wird er in ein Objekt konvertiert und dann genauso behandelt wie die Argumente fürconcat(). In diesem Fall ist der Rückgabewert immer ein einfaches neues Array.

js
console.log(Array.prototype.concat.call({}, 1, 2, 3)); // [{}, 1, 2, 3]console.log(Array.prototype.concat.call(1, 2, 3)); // [ [Number: 1], 2, 3 ]const arrayLike = {  [Symbol.isConcatSpreadable]: true,  length: 2,  0: 1,  1: 2,  2: 99, // ignored by concat() since length is 2};console.log(Array.prototype.concat.call(arrayLike, 3, 4)); // [1, 2, 3, 4]

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-array.prototype.concat

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2026 Movatter.jp