Signatur
Beschreibung
Die Methode join() von Array-Instanzen gibt einen neuen String zurück, der die Verkettung aller Elemente dieses Arrays darstellt, getrennt durch Kommas oder einen angegebenen Trenn-String. Enthält das Array nur ein Element, wird dessen Stringifizierung ohne den Separator zurückgegeben.
Die String-Konvertierungen aller Array-Elemente werden zu einem String zusammengefügt. Ist ein Element undefined oder null, wird es zu einem leeren String konvertiert anstatt zu "null" oder "undefined".
Die Methode join wird intern von Array.prototype.toString() ohne Argumente verwendet. Wird join einer Array-Instanz überschrieben, wird damit auch deren toString-Verhalten überschrieben.
Array.prototype.join konvertiert jedes Element, einschließlich anderer Arrays, rekursiv zu Strings. Da der von Array.prototype.toString (was dem Aufruf von join() entspricht) zurückgegebene String keine Trennzeichen enthält, sehen verschachtelte Arrays so aus, als wären sie abgeflacht. Sie können nur den Separator der ersten Ebene steuern, während tiefere Ebenen immer das Standardkomma verwenden.
Wenn ein Array zyklisch ist (also ein Element enthält, das es selbst ist), vermeiden Browser eine unendliche Rekursion, indem sie die zyklische Referenz ignorieren.
Wenn join() auf sparse Arrays angewendet wird, iteriert die Methode leere Slots so, als hätten sie den Wert undefined.
Die Methode join() ist generisch. Sie erwartet vom this-Wert lediglich, dass er eine length-Eigenschaft und Eigenschaften mit ganzzahligen Schlüsseln besitzt.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $separator | string | — | Ein String, der jedes Paar benachbarter Array-Elemente trennt. Wird er weggelassen, werden die Array-Elemente durch ein Komma (",") getrennt. |
Rückgabewert
Beispiele
Ein Array auf vier verschiedene Arten zusammenfügen
const a = ["Wind", "Water", "Fire"];
a.join(); // 'Wind,Water,Fire'
a.join(", "); // 'Wind, Water, Fire'
a.join(" + "); // 'Wind + Water + Fire'
a.join(""); // 'WindWaterFire'
join() bei sparse Arrays verwenden
console.log([1, , 3].join()); // '1,,3'
console.log([1, undefined, 3].join()); // '1,,3'
join() auf Nicht-Array-Objekten aufrufen
const arrayLike = {
length: 3,
0: 2,
1: 3,
2: 4,
3: 5, // von join() ignoriert, da length gleich 3 ist
};
console.log(Array.prototype.join.call(arrayLike));
// 2,3,4
console.log(Array.prototype.join.call(arrayLike, "."));
// 2.3.4
Verschachtelte Arrays
const matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
];
console.log(matrix.join()); // 1,2,3,4,5,6,7,8,9
console.log(matrix.join(";")); // 1,2,3;4,5,6;7,8,9
Zyklisches Array
const arr = [];
arr.push(1, [3, arr, 4], 2);
console.log(arr.join(";")); // 1;3,,4;2