| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/concat | [Back] [Original] |
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit Juli 2015 browserbergreifend verfgbar.
Die concat()-Methode von Array-Instanzen wird verwendet, um zwei oder mehr Arrays zu verknpfen.
Diese Methode ndert die bestehenden Arrays nicht, sondern gibt stattdessen ein neues Array zurck.
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"]
concat()
concat(value1)
concat(value1, value2)
concat(value1, value2, /* , */ valueN)
value1, , valueN OptionalArrays und/oder Werte, die zu einem neuen Array verkettet werden sollen. Wenn alle
valueN Parameter weggelassen werden, gibt concat eine
flache Kopie des bestehenden Arrays zurck, auf dem sie aufgerufen wird. Siehe die Beschreibung unten
fr weitere Details.
Eine neue Array Instanz.
Die concat-Methode erstellt ein neues Array. Das Array wird zuerst mit den Elementen des Objekts gefllt, auf dem es aufgerufen wird. Dann wird fr jedes Argument der entsprechende Wert dem Array verkettet fr normale Objekte oder Primitive wird das Argument selbst ein Element des endgltigen Arrays; fr Arrays oder array-hnliche Objekte mit der Eigenschaft Symbol.isConcatSpreadable, die auf einen wahrheitsgemen Wert gesetzt ist, wird jedes Element des Arguments unabhngig dem endgltigen Array hinzugefgt. Die concat-Methode rekursiert nicht in verschachtelten Array-Argumenten.
Die concat()-Methode ist eine kopierende Methode. Sie ndert weder this noch eines der bergebenen Arrays, sondern gibt eine flache Kopie zurck, die die gleichen Elemente wie die der ursprnglichen Arrays enthlt.
Die concat()-Methode bewahrt leere Stellen, wenn eines der Quellarrays sprlich ist.
Die concat()-Methode ist generisch. Der this-Wert wird auf die gleiche Weise wie die anderen Argumente behandelt (auer dass er zuerst in ein Objekt konvertiert wird), was bedeutet, dass einfache Objekte direkt vor das resultierende Array gestellt werden, whrend array-hnliche Objekte mit wahrheitsgemem [Symbol.isConcatSpreadable] in das resultierende Array verteilt werden.
Der folgende Code verkettet zwei Arrays:
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]
Der folgende Code verkettet drei Arrays:
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]
Der folgende Code verkettet drei Werte zu einem Array:
const letters = ["a", "b", "c"];
const alphaNumeric = letters.concat(1, [2, 3]);
console.log(alphaNumeric);
// results in ['a', 'b', 'c', 1, 2, 3]
Der folgende Code verkettet verschachtelte Arrays und demonstriert die Beibehaltung von Referenzen:
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 num1
num1[0].push(4);
console.log(numbers);
// results in [[1, 4], 2, [3]]
concat behandelt nicht standardmig alle array-hnlichen Objekte als Arrays nur wenn Symbol.isConcatSpreadable auf einen wahrheitsgemen Wert (z.B. true) gesetzt ist.
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 ]
Wenn eines der Quellarrays sprlich ist, wird das resultierende Array ebenfalls sprlich sein:
console.log([1, , 3].concat([4, 5])); // [1, empty, 3, 4, 5]
console.log([1, 2].concat([3, , 5])); // [1, 2, 3, empty, 5]
Wenn der this-Wert kein Array ist, wird er in ein Objekt konvertiert und dann genauso behandelt wie die Argumente fr concat(). In diesem Fall ist der Rckgabewert immer ein einfaches neues Array.
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]
| Spezifikation |
|---|
| ECMAScript 2027 LanguageSpecification # sec-array.prototype.concat |
Array.prototype.concat in core-js mit Korrekturen und Implementierung moderner Verhaltensweisen wie Symbol.isConcatSpreadable UntersttzungArray.prototype.concatArrayArray.prototype.push()Array.prototype.unshift()Array.prototype.splice()String.prototype.concat()Symbol.isConcatSpreadableArrayat()concat()copyWithin()entries()every()fill()filter()find()findIndex()findLast()findLastIndex()flat()flatMap()forEach()includes()indexOf()join()keys()lastIndexOf()map()pop()push()reduce()reduceRight()reverse()shift()slice()some()sort()splice()toLocaleString()toReversed()toSorted()toSpliced()toString()unshift()values()with()[Symbol.iterator]()Object/FunctionDer Bauplan fr ein besseres Internet.
Teile dieses Inhalts sind 19982026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfgbar unter einer Creative-Commons-Lizenz.
| Web Proxy Viewer | New URL | Original Page |