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

View in English Always switch to English

Array.prototype.join()

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.

Die join() Methode von Array Instanzen gibt einen neuen String zurück, der die Verkettung aller Elemente dieses Arrays ist, getrennt durch Kommas oder einen angegebenen Trennstring. Wenn das Array nur einen Eintrag hat, wird die String-Repräsentation dieses Eintrags 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

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

Rückgabewert

Ein String, in dem alle Array-Elemente verknüpft sind. Wenn array.length 0 ist, wird der leere String zurückgegeben.

Beschreibung

Die String-Konvertierungen aller Array-Elemente werden zu einem String verbunden. Wenn ein Element undefined oder null ist, wird es in einen leeren String umgewandelt, anstatt in den String "null" oder "undefined".

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

Array.prototype.join konvertiert rekursiv jedes Element, einschließlich anderer Arrays, in Strings. Da der von Array.prototype.toString zurückgegebene String (was dem Aufruf von join() entspricht) keine Trennzeichen hat, sehen geschachtelte Arrays so aus, als seien sie flach. Sie können nur den Trennstring 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 auf sparsen Arrays angewendet wird, durchläuft die join() Methode leere Plätze, als hätten sie den Wert undefined.

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

Beispiele

Ein Array auf vier verschiedene Arten verbinden

Das folgende Beispiel erstellt ein Array a mit drei Elementen und verbindet dann das Array viermal: mit dem Standardtrennzeichen, dann mit einem Komma und einem Leerzeichen, dann mit einem Plus und einem leeren String.

js
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 spärlichen Arrays

join() behandelt leere Plätze 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'

Aufruf 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

Spezifikation
ECMAScript® 2027 Language Specification
# sec-array.prototype.join

Browser-Kompatibilität

Siehe auch