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.reverse()

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 Methode reverse() von Array-Instanzen kehrt die Reihenfolge eines Arrays an Ort und Stelle um und gibt eine Referenz auf dasselbe Array zurück. Dabei wird das erste Array-Element zum letzten und das letzte zum ersten.

Um die Reihenfolge der Elemente umzukehren, ohne das ursprüngliche Array zu verändern, verwenden Sie toReversed().

Probieren Sie es aus

const array = ["one", "two", "three"];
console.log("array:", array);
// Expected output: "array:" Array ["one", "two", "three"]

const reversed = array.reverse();
console.log("reversed:", reversed);
// Expected output: "reversed:" Array ["three", "two", "one"]

// Careful: reverse is destructive -- it changes the original array.
console.log("array:", array);
// Expected output: "array:" Array ["three", "two", "one"]

Syntax

js
reverse()

Parameter

Keine.

Rückgabewert

Eine Referenz auf das ursprüngliche Array, dessen Reihenfolge nun umgekehrt ist. Das Array wird an Ort und Stelle verändert; es wird keine Kopie erstellt.

Beschreibung

Die Methode reverse() vertauscht die Elemente des aufrufenden Array-Objekts an Ort und Stelle. Sie verändert das Array und gibt eine Referenz darauf zurück.

Die Methode reverse() erhält leere Einträge. Wenn das Ausgangsarray Lücken aufweist, werden die entsprechenden neuen Indizes der leeren Einträge gelöscht und sind damit ebenfalls leer.

Die Methode reverse() ist generisch. Sie setzt lediglich voraus, dass der this-Wert eine length-Eigenschaft und Eigenschaften mit ganzzahligen Schlüsseln besitzt. Obwohl Strings ebenfalls Array-ähnlich sind, eignet sich diese Methode nicht für sie, da Strings unveränderlich sind.

Beispiele

Die Elemente eines Arrays umkehren

Das folgende Beispiel erstellt ein Array items mit drei Elementen und kehrt anschließend deren Reihenfolge um. Der Aufruf von reverse() gibt eine Referenz auf das umgekehrte Array items zurück.

js
const items = [1, 2, 3];
console.log(items); // [1, 2, 3]

items.reverse();
console.log(items); // [3, 2, 1]

Die Methode reverse() gibt eine Referenz auf dasselbe Array zurück

Die Methode reverse() gibt eine Referenz auf das ursprüngliche Array zurück. Wird das zurückgegebene Array verändert, ändert sich daher auch das ursprüngliche Array.

js
const numbers = [3, 2, 4, 1, 5];
const reversed = numbers.reverse();
// numbers and reversed are both in reversed order [5, 1, 4, 2, 3]
reversed[0] = 5;
console.log(numbers[0]); // 5

Wenn reverse() das ursprüngliche Array nicht verändern, sondern wie andere Array-Methoden (z. B. map()) eine flache Kopie zurückgeben soll, verwenden Sie die Methode toReversed(). Alternativ können Sie vor dem Aufruf von reverse() mit der Spread-Syntax oder Array.from() eine flache Kopie erstellen.

js
const numbers = [3, 2, 4, 1, 5];
// [...numbers] creates a shallow copy, so reverse() does not mutate the original
const reverted = [...numbers].reverse();
reverted[0] = 5;
console.log(numbers[0]); // 3

reverse() auf Arrays mit Lücken anwenden

Arrays mit Lücken behalten diese auch nach dem Aufruf von reverse(). Leere Einträge werden als leere Einträge an die entsprechenden neuen Indizes übertragen.

js
console.log([1, , 3].reverse()); // [3, empty, 1]
console.log([1, , 3, 4].reverse()); // [4, 3, empty, 1]

reverse() für Objekte aufrufen, die keine Arrays sind

Die Methode reverse() liest die length-Eigenschaft von this. Anschließend durchläuft sie jede Eigenschaft mit einem ganzzahligen Schlüssel zwischen 0 und length / 2 und vertauscht die beiden entsprechenden Indizes an den gegenüberliegenden Enden. Dabei werden Zieleigenschaften gelöscht, wenn die jeweilige Quelleigenschaft nicht vorhanden war.

js
const arrayLike = {
  length: 3,
  unrelated: "foo",
  2: 4,
  3: 33, // ignored by reverse() since length is 3
};
console.log(Array.prototype.reverse.call(arrayLike));
// { 0: 4, 3: 33, length: 3, unrelated: 'foo' }
// The index 2 is deleted because there was no index 0 present originally
// The index 3 is unchanged since the length is 3

Spezifikationen

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

Browser-Kompatibilität

Siehe auch