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.

O método at() recebe um valor inteiro e retorna o item referente ao index dele, permitindo valores positivos ou negativos. Valores negativos contam apartir do último item do array.

Isto não quer dizer que exista alguma coisa errada em utilizar a notação com colchetes. Por exemplo array[0] retornaria o primeiro item. Porém ao invés de utilizar o array.length para os últimos items; e.g array[array.length-1] para o último item, você pode utilizar o array.at(-1). (Veja os exemplos abaixo)

Experimente

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"

Sintaxe

js
at(index);

Parâmetros

index

O index (posição) do elemento do array que será retornado. Quando um valor negativo é passado como argumento a contagem dos elementos é feita de trás para frente.

Valor retornado

O elemento correspondente ao index passado como argumento. Retorna undefined se o index passado não for encontrado.

Exemplos

Retornando o último item de um array

O exemplo a seguir exibe uma função que retorna o último elemento encontrado de um array específico.

js
// O array com items
const cart = ["apple", "banana", "pear"];

// A função que retorna o último item do array passado como argumento
function returnLast(arr) {
  return arr.at(-1);
}

// Pega o último item do array 'cart'
const item1 = returnLast(cart);
console.log(item1); // 'pear'

// Adiciona um item ao array 'cart'
cart.push("orange");
const item2 = returnLast(cart);
console.log(item2); // 'orange'

Comparando métodos

Este exemplo compara as diferentes maneiras de selecionar o penúltimo item de um Array. Todos os métodos abaixos são válidos, mas este exemplo destaca a sucintez e legibilidade do método at().

js
// O array com items
const colors = ["red", "green", "blue"];

// Usando a propriedade length
const lengthWay = colors[colors.length - 2];
console.log(lengthWay); // 'green'

// Usando o método slice(). Perceba que um array é retornado
const sliceWay = colors.slice(-2, -1);
console.log(sliceWay[0]); // 'green'

// Usando o método at()
const atWay = colors.at(-2);
console.log(atWay); // 'green'

Especificações

Specification
ECMAScript® 2025 Language Specification
# sec-array.prototype.at

Compatibilidade com navegadores

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
at

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Veja também