Array.prototype.at()
====================

Baseline 2022
-------------

Newly availableSince March 2022, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

* Learn more
* See full compatibility
* Report feedback
El método **`at()`** recibe un valor numérico entero y devuelve el elemento en esa posición, permitiendo valores positivos y negativos. Los valores negativos contarán desde el último elemento del array.

Esto no sugiere que haya algo mal con usar la notación de corchetes. Por ejemplo, `array[0]` devolvería el primer elemento. Sin embargo, en lugar de usar `array.length` para los últimos elementos; ej. `array[array.length-1]` para el último elemento, puede llamar `array.at(-1)`. (Ver los ejemplos siguientes)

Pruébalo
--------

Sintaxis
--------


```js
at(índice);
```

### Parámetros

`índice`

El índice (posición) del elemento del array que se devolverá. Soporta el índice relativo desde el final del array cuando se pasa un índice negativo; ej. si se usa un número negativo, el elemento devuelto se encontrará contando hacia atrás desde el final del array.

### Valor de retorno

El elemento en el array que coincide con el índice dado. Devuelve `undefined` si el índice dado no se puede encontrar.

Ejemplos
--------

### Retorna el último valor de un array

El siguiente ejemplo proporciona una función que devuelve el último elemento encontrado en un array especificado.


```js
// Nuestro array con objetos
const carrito = ["manzana", "plátano", "pera"];

// Una función que devuelve el último elemento de un array dado
function devolverUltimo(arr) {
  return arr.at(-1);
}

// Obtenemos el último elemento de nuestro array 'carrito'
const objeto1 = devolverUltimo(carrito);
console.log(objeto1); // Muestra: 'pera'

// Añade un elemento a nuestro array 'carrito'
carrito.push("naranja");
const objeto2 = devolverUltimo(carrito);
console.log(objeto2); // Muestra: 'naranja'
```

### Comparando métodos

Este ejemplo compara diferentes maneras de seleccionar el penúltimo (uno antes del último) elemento de un `Array`. Mientras todos los métodos mostrados a continuación son válidos, este ejemplo resalta la concisión y la fácil lectura del método `at()`.


```js
// Nuestro array con elementos
const colores = ["rojo", "verde", "azul"];

// Usando la propiedad length
const lengthMetodo = colores[colores.length - 2];
console.log(lengthMetodo); // Muestra: 'verde'

// Usando el método slice(). Note que se devuelve un array
const sliceMetodo = colores.slice(-2, -1);
console.log(sliceMetodo[0]); // Muestra: 'verde'

// Usando el método at()
const atMetodo = colores.at(-2);
console.log(atMetodo); // Muestra: 'verde'
```

Especificaciones
----------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-array.prototype.at |

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Véase también
-------------

* Polyfill de `Array.prototype.at` en `core-js`
* Un polyfill para el método at().
* `Array.prototype.find()` – devuelve un valor basado en una prueba dada.
* `Array.prototype.includes()` – prueba si un valor existe en el array.
* `Array.prototype.indexOf()` – devuelve el índice de un elemento dado.