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 eine neue Zeichenkette zurück, indem alle Elemente in diesem Array durch Kommas oder eine angegebene Trennzeichen-Zeichenkette verbunden werden. 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

js
join()
join(separator)

Parameter

separator Optional

Eine Zeichenkette, um jedes Paar benachbarter Elemente des Arrays zu trennen. Wenn nicht angegeben, werden die Array-Elemente mit einem Komma (",") getrennt.

Rückgabewert

Eine Zeichenkette, die alle Array-Elemente verbindet. Wenn array.length 0 ist, wird die leere Zeichenkette zurückgegeben.

Beschreibung

Die Zeichenkettenkonvertierungen aller Array-Elemente werden zu einer Zeichenkette verbunden. Wenn ein Element undefined oder null ist, wird es in eine leere Zeichenkette anstelle der Zeichenkette "null" oder "undefined" konvertiert.

Die join-Methode wird intern von Array.prototype.toString() ohne Argumente aufgerufen. Das Überschreiben von join einer Array-Instanz wird auch ihr toString-Verhalten überschreiben.

Array.prototype.join konvertiert rekursiv jedes Element, einschließlich anderer Arrays, zu Zeichenketten. Da die von Array.prototype.toString zurückgegebene Zeichenkette (die der Aufruf von join() entspricht) keine Trennzeichen hat, wirken verschachtelte Arrays wie flach. Sie können nur das Trennzeichen der ersten Ebene steuern, während tiefere Ebenen immer das Standardkomma verwenden.

js
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.

js
const arr = [];
arr.push(1, [3, arr, 4], 2);
console.log(arr.join(";")); // 1;3,,4;2

Wenn die Methode bei sparsamen Arrays verwendet wird, iteriert die join()-Methode leere Slots, als ob sie den Wert undefined hätten.

Die join()-Methode ist generisch. Sie erwartet nur, dass der this-Wert eine length-Eigenschaft und ganzzahlige Schlüssel-Eigenschaften hat.

Beispiele

Ein Array auf vier verschiedene Weisen verbinden

Das folgende Beispiel erstellt ein Array a mit drei Elementen und verbindet es dann viermal: einmal mit dem Standardtrennzeichen, dann mit einem Komma und einem Leerzeichen, dann mit einem Pluszeichen und einer leeren Zeichenkette.

js
const a = ["Wind", "Water", "Fire"];
a.join(); // 'Wind,Water,Fire'
a.join(", "); // 'Wind, Water, Fire'
a.join(" + "); // 'Wind + Water + Fire'
a.join(""); // 'WindWaterFire'

Verwenden von join() bei sparsamen Arrays

join() behandelt leere Slots genauso wie undefined und erzeugt ein zusätzliches Trennzeichen:

js
console.log([1, , 3].join()); // '1,,3'
console.log([1, undefined, 3].join()); // '1,,3'

Aufrufen von join() auf Nicht-Array-Objekten

Die join()-Methode liest die length-Eigenschaft von this und greift dann auf jede Eigenschaft zu, deren Schlüssel eine nicht-negative Ganzzahl kleiner als length ist.

js
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® 2025 Language Specification
# sec-array.prototype.join

Browser-Kompatibilität

Siehe auch