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, wodurch positive und negative Ganzzahlen ermöglicht werden. Negative Ganzzahlen zählen rückwärts ab dem 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

js
at(index)

Parameter

index

Nullbasierter Index des zurückzugebenden Array-Elements, in eine Ganzzahl konvertiert. Der negative Index zählt rückwärts vom Ende des Arrays — wenn index < 0, wird index + array.length aufgerufen.

Rückgabewert

Das Element im Array, das mit dem angegebenen Index übereinstimmt. Gibt immer undefined zurück, wenn index < -array.length oder index >= array.length ist, ohne zu versuchen, auf die entsprechende Eigenschaft zuzugreifen.

Beschreibung

Die at()-Methode ist gleichbedeutend mit der Klammernotation, wenn index eine nicht negative Ganzzahl ist. Zum Beispiel geben sowohl array[0] als auch array.at(0) das erste Element zurück. Wenn jedoch Elemente vom Ende des Arrays gezählt werden, können Sie array[-1] nicht wie in Python oder R verwenden, da alle Werte innerhalb der eckigen Klammern buchstäblich als String-Eigenschaften behandelt werden. Dadurch lesen Sie array["-1"], was eine normale String-Eigenschaft anstelle eines Array-Index ist.

Die übliche Vorgehensweise ist, auf die length zuzugreifen und den Index daraus zu berechnen — zum Beispiel array[array.length - 1]. Die at()-Methode ermöglicht relatives Indexieren, sodass dies auf array.at(-1) verkürzt werden kann.

Durch die Kombination von at() mit with() können Sie sowohl lesen als auch schreiben (jeweils) eines Arrays mithilfe negativer Indizes.

Die at()-Methode ist generisch. Sie erwartet nur, dass der this-Wert eine length-Eigenschaft und integer-indexierte Eigenschaften hat.

Beispiele

Den letzten Wert eines Arrays zurückgeben

Das folgende Beispiel bietet eine Funktion, die das letzte Element eines angegebenen Arrays zurückgibt.

js
// 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'

Methoden vergleichen

Dieses Beispiel vergleicht verschiedene Methoden, um das vorletzte 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.

js
// 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'

at() auf nicht-Array-Objekte anwenden

Die at()-Methode liest die length-Eigenschaft von this und berechnet den Index für den Zugriff.

js
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® 2025 Language Specification
# sec-array.prototype.at

Browser-Kompatibilität

Siehe auch