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 março de 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
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.
// 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().
// 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® 2026 Language Specification> # sec-array.prototype.at> |
Compatibilidade com navegadores
Veja também
- Um polyfill do método
Array.prototype.atestá disponível emcore-js - Um polyfill para o método at().
Array.prototype.find()– retorna um valor baseado no teste fornecido.Array.prototype.includes()– verifica se um valor existe em um array.Array.prototype.indexOf()– retorna o index de um determinado elemento.