Array.prototype.at()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.
Die at()
-Methode von Array
-Instanzen nimmt einen ganzzahligen Wert und gibt das Element an diesem Index zurück, wobei sowohl positive als auch negative Ganzzahlen unterstützt werden. Negative Ganzzahlen zählen rückwärts vom letzten Element im Array.
Probieren Sie es aus
const array1 = [5, 12, 8, 130, 44];
let index = 2;
console.log(`An index of ${index} returns ${array1.at(index)}`);
// Expected output: "An index of 2 returns 8"
index = -2;
console.log(`An index of ${index} returns ${array1.at(index)}`);
// Expected output: "An index of -2 returns 130"
Syntax
at(index)
Parameter
index
-
Null-basierter Index des zurückzugebenden Array-Elements, in eine Ganzzahl konvertiert. Ein negativer Index zählt rückwärts vom Ende des Arrays — falls
index < 0
, wirdindex + array.length
aufgerufen.
Rückgabewert
Das Element im Array, das dem gegebenen Index entspricht. Gibt immer undefined
zurück, wenn index < -array.length
oder index >= array.length
, ohne zu versuchen, die entsprechende Eigenschaft aufzurufen.
Beschreibung
Die at()
-Methode ist äquivalent zur Klammernotation, wenn index
eine nichtnegative Ganzzahl ist. Zum Beispiel geben sowohl array[0]
als auch array.at(0)
das erste Element zurück. Wenn Sie jedoch Elemente vom Ende des Arrays zählen, können Sie nicht array[-1]
wie in Python oder R verwenden, da alle Werte innerhalb der eckigen Klammern als String-Eigenschaften behandelt werden. Sie würden daher array["-1"]
lesen, was eine normale String-Eigenschaft anstelle eines Array-Index ist.
Die übliche Praxis ist es, length
zu verwenden und den Index daraus zu berechnen — beispielsweise array[array.length - 1]
. Die at()
-Methode ermöglicht relatives Indexieren, sodass dies auf array.at(-1)
verkürzt werden kann.
Indem Sie at()
mit with()
kombinieren, können Sie sowohl ein Array mit negativen Indizes lesen als auch schreiben (jeweils).
Die at()
-Methode ist generisch. Sie erwartet nur, dass der this
-Wert eine length
-Eigenschaft und ganzzahlige Schlüsseleigenschaften hat.
Beispiele
Rückgabe des letzten Werts eines Arrays
Im folgenden Beispiel wird eine Funktion bereitgestellt, die das letzte Element in einem angegebenen Array zurückgibt.
// Our array with items
const cart = ["apple", "banana", "pear"];
// A function which returns the last item of a given array
function returnLast(arr) {
return arr.at(-1);
}
// Get the last item of our array 'cart'
const item1 = returnLast(cart);
console.log(item1); // 'pear'
// Add an item to our 'cart' array
cart.push("orange");
const item2 = returnLast(cart);
console.log(item2); // 'orange'
Vergleich von Methoden
Dieses Beispiel vergleicht verschiedene Möglichkeiten, das vorletzte (letztes, aber eins) Element eines Array
auszuwählen. Während alle unten gezeigten Methoden gültig sind, hebt dieses Beispiel die Kürze und Lesbarkeit der at()
-Methode hervor.
// Our array with items
const colors = ["red", "green", "blue"];
// Using length property
const lengthWay = colors[colors.length - 2];
console.log(lengthWay); // 'green'
// Using slice() method. Note an array is returned
const sliceWay = colors.slice(-2, -1);
console.log(sliceWay[0]); // 'green'
// Using at() method
const atWay = colors.at(-2);
console.log(atWay); // 'green'
Aufrufen von at() auf Nicht-Array-Objekten
Die at()
-Methode liest die length
-Eigenschaft von this
und berechnet den Index, der aufgerufen werden soll.
const arrayLike = {
length: 2,
0: "a",
1: "b",
2: "c", // ignored by at() since length is 2
};
console.log(Array.prototype.at.call(arrayLike, 0)); // "a"
console.log(Array.prototype.at.call(arrayLike, 2)); // undefined
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-array.prototype.at |