Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
Array.prototype.reverse()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Diereverse() Methode vonArray Instanzen kehrt ein Arrayin place um und gibt die Referenz auf dasselbe Array zurück, wobei das erste Array-Element nun zum letzten und das letzte Array-Element zum ersten wird. Mit anderen Worten, die Reihenfolge der Elemente im Array wird in die entgegengesetzte Richtung gedreht.
Um die Elemente in einem Array zu umkehren, ohne das Original-Array zu verändern, verwenden SietoReversed().
In diesem Artikel
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
reverse()Parameter
Keine.
Rückgabewert
Die Referenz auf das originale, nun umgekehrte Array. Beachten Sie, dass das Arrayin place umgekehrt wird und keine Kopie erstellt wird.
Beschreibung
Diereverse() Methode vertauscht die Elemente des aufrufenden Array-Objekts in der gleichen Struktur, mutiert das Array und gibt eine Referenz zum Array zurück.
Diereverse() Methode bewahrt leere Stellen. Wenn das Quell-Arrayspärlich ist, werden die entsprechenden neuen Indizes der leeren Stellengelöscht und bleiben auch leere Stellen.
Diereverse() Methode istgenerisch. Sie erwartet nur, dass derthis-Wert einelength-Eigenschaft und integer-basierte Eigenschaften hat. Obwohl Strings auch array-ähnlich sind, ist diese Methode nicht geeignet, um auf ihnen angewendet zu werden, da Strings unveränderlich sind.
Beispiele
>Umkehrung der Elemente in einem Array
Das folgende Beispiel erstellt ein Arrayitems, das drei Elemente enthält, und kehrt dann das Array um. Der Aufruf vonreverse() gibt eine Referenz auf das umgekehrte Arrayitems zurück.
const items = [1, 2, 3];console.log(items); // [1, 2, 3]items.reverse();console.log(items); // [3, 2, 1]Die reverse() Methode gibt die Referenz auf dasselbe Array zurück
Diereverse() Methode gibt die Referenz auf das Original-Array zurück, sodass eine Mutation des zurückgegebenen Arrays auch das Original-Array verändert.
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]); // 5Falls Sie möchten, dassreverse() das Original-Array nicht verändert, sondern einflachkopiertes Array zurückgibt, wie es andere Array-Methoden (z. B.map()) tun, verwenden Sie dietoReversed() Methode. Alternativ können Sie eine flache Kopie anfertigen, bevor Siereverse() aufrufen, indem Sie dieSpread-Syntax oderArray.from() verwenden.
const numbers = [3, 2, 4, 1, 5];// [...numbers] creates a shallow copy, so reverse() does not mutate the originalconst reverted = [...numbers].reverse();reverted[0] = 5;console.log(numbers[0]); // 3Verwenden von reverse() bei spärlichen Arrays
Spärliche Arrays bleiben spärlich nach dem Aufruf vonreverse(). Leere Stellen werden als leere Stellen an ihre jeweiligen neuen Indizes kopiert.
console.log([1, , 3].reverse()); // [3, empty, 1]console.log([1, , 3, 4].reverse()); // [4, 3, empty, 1]Aufruf von reverse() bei Nicht-Array-Objekten
Diereverse() Methode liest dielength Eigenschaft dieses Objekts. Sie besucht dann jede Eigenschaft mit einem ganzzahligen Schlüssel zwischen0 undlength / 2 und tauscht die zwei entsprechenden Indizes an beiden Enden, wobei sie jede Ziel-Eigenschaftlöscht, für die die Quell-Eigenschaft nicht existierte.
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 3Spezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-array.prototype.reverse> |