Start · Sprachen · JavaScript · Referenz · Array.prototype.join()

Array.prototype.join()

Methode

Die Methode <code>join()</code> von <code>Array</code>-Instanzen gibt einen neuen String zurück, der alle Elemente des Arrays verkettet und durch ein Trennzeichen separiert enthält.

Kategorie: method-property

Signatur

join() / join(separator)

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

Typ
string
Beschreibung
Ein String mit allen zusammengefügten Array-Elementen. Ist array.length gleich 0, wird der leere String zurückgegeben.

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