Signatur
Beschreibung
Die Methode reverse() von Array-Instanzen kehrt ein Array in place um und gibt die Referenz auf dasselbe Array zurück. Das erste Array-Element wird zum letzten und das letzte Array-Element wird zum ersten. Mit anderen Worten: Die Reihenfolge der Elemente im Array wird in die Richtung umgekehrt, die der zuvor angegebenen entgegengesetzt ist.
Um die Elemente eines Arrays umzukehren, ohne das ursprüngliche Array zu verändern, verwenden Sie toReversed().
Die Methode reverse() transponiert die Elemente des aufrufenden Array-Objekts in place, verändert das Array und gibt eine Referenz auf das Array zurück.
Die Methode reverse() erhält leere Slots. Wenn das Quell-Array sparse ist, werden die entsprechenden neuen Indizes der leeren Slots gelöscht und ebenfalls zu leeren Slots.
Die Methode reverse() ist generisch. Sie erwartet lediglich, dass der this-Wert eine length-Eigenschaft sowie Eigenschaften mit ganzzahligen Schlüsseln besitzt. Obwohl Strings ebenfalls array-ähnlich sind, ist diese Methode nicht dafür geeignet, auf sie angewendet zu werden, da Strings unveränderlich sind.
Rückgabewert
Beispiele
Umkehren der Elemente in einem Array
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
const numbers = [3, 2, 4, 1, 5];
const reversed = numbers.reverse();
// numbers und reversed sind beide in umgekehrter Reihenfolge [5, 1, 4, 2, 3]
reversed[0] = 5;
console.log(numbers[0]); // 5
Shallow Copy vor reverse()
const numbers = [3, 2, 4, 1, 5];
// [...numbers] erzeugt eine flache Kopie, sodass reverse() das Original nicht verändert
const reverted = [...numbers].reverse();
reverted[0] = 5;
console.log(numbers[0]); // 3
Verwendung von reverse() bei sparse Arrays
console.log([1, , 3].reverse()); // [3, empty, 1]
console.log([1, , 3, 4].reverse()); // [4, 3, empty, 1]
Aufruf von reverse() auf Nicht-Array-Objekten
const arrayLike = {
length: 3,
unrelated: "foo",
2: 4,
3: 33, // wird von reverse() ignoriert, da length 3 ist
};
console.log(Array.prototype.reverse.call(arrayLike));
// { 0: 4, 3: 33, length: 3, unrelated: 'foo' }
// Der Index 2 wird gelöscht, weil ursprünglich kein Index 0 vorhanden war
// Der Index 3 bleibt unverändert, da length 3 ist