Array.prototype.join()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Die join()
Methode von Array
Instanzen erstellt und
gibt einen neuen String zurück, indem alle Elemente in diesem Array verkettet werden,
getrennt durch Kommas oder einem angegebenen Trennzeichen-String. Wenn das Array
nur ein Element hat, wird dieses Element ohne Verwendung des Trennzeichens zurückgegeben.
Probieren Sie es aus
const elements = ["Fire", "Air", "Water"];
console.log(elements.join());
// Expected output: "Fire,Air,Water"
console.log(elements.join(""));
// Expected output: "FireAirWater"
console.log(elements.join("-"));
// Expected output: "Fire-Air-Water"
Syntax
join()
join(separator)
Parameter
separator
Optional-
Ein String, der jedes Paar von benachbarten Elementen des Arrays trennt. Wenn weggelassen, werden die Array-Elemente mit einem Komma (",") getrennt.
Rückgabewert
Ein String mit allen verknüpften Array-Elementen. Wenn array.length
0
ist, wird der leere String zurückgegeben.
Beschreibung
Die String-Konvertierungen aller Array-Elemente werden zu einem String zusammengefügt. Wenn ein Element undefined
oder null
ist, wird es in einen leeren String konvertiert, anstatt in den String "null"
oder "undefined"
.
Die join
Methode wird intern von Array.prototype.toString()
ohne Argumente aufgerufen. Ein Überschreiben von join
einer Array-Instanz wird das toString
Verhalten ebenfalls überschreiben.
Array.prototype.join
konvertiert rekursiv jedes Element, einschließlich anderer Arrays, in Strings. Da der durch Array.prototype.toString
zurückgegebene String (was dasselbe ist wie join()
aufzurufen) keine Trennzeichen hat, sehen geschachtelte Arrays so aus, als ob sie abgeflacht wären. Man kann nur das Trennzeichen der ersten Ebene steuern, während tiefere Ebenen immer das Standard-Komma verwenden.
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
Wenn ein Array zyklisch ist (es enthält ein Element, das es selbst ist), vermeiden Browser eine unendliche Rekursion, indem sie die zyklische Referenz ignorieren.
const arr = [];
arr.push(1, [3, arr, 4], 2);
console.log(arr.join(";")); // 1;3,,4;2
Wenn join()
auf sparse arrays angewendet wird, durchläuft die Methode leere Slots, als hätten sie den Wert undefined
.
Die join()
Methode ist generisch. Sie erwartet nur, dass der this
-Wert eine length
Eigenschaft und integer-schlüsselbasierte Eigenschaften besitzt.
Beispiele
Ein Array auf vier verschiedene Arten verbinden
Das folgende Beispiel erstellt ein Array a
mit drei Elementen und verbindet
das Array vier Mal: mit dem Standard-Trennzeichen, dann mit einem Komma und einem Leerzeichen, dann mit einem Pluszeichen und einem leeren String.
const a = ["Wind", "Water", "Fire"];
a.join(); // 'Wind,Water,Fire'
a.join(", "); // 'Wind, Water, Fire'
a.join(" + "); // 'Wind + Water + Fire'
a.join(""); // 'WindWaterFire'
Verwendung von join() auf sparse arrays
join()
behandelt leere Slots genauso wie undefined
und erzeugt einen zusätzlichen Trenner:
console.log([1, , 3].join()); // '1,,3'
console.log([1, undefined, 3].join()); // '1,,3'
Aufruf von join() bei Nicht-Array-Objekten
Die join()
Methode liest die length
Eigenschaft von this
und greift dann auf jede Eigenschaft zu, deren Schlüssel ein nicht-negativer Integer kleiner als length
ist.
const arrayLike = {
length: 3,
0: 2,
1: 3,
2: 4,
3: 5, // ignored by join() since length is 3
};
console.log(Array.prototype.join.call(arrayLike));
// 2,3,4
console.log(Array.prototype.join.call(arrayLike, "."));
// 2.3.4
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-array.prototype.join |