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
La méthode **`at()`** prend un entier en argument et renvoie l'élément du tableau situé à cet indice. Des valeurs entières positives ou négatives peuvent être utilisées en argument. Dans ce dernier cas, la recherche est effectuée depuis la fin du tableau.

L'accès aux éléments d'un tableau en utilisant les crochets ne permet que d'utiliser des indices positifs : `array[0]` renverra le premier élément, `array[array.length-1]` renverra le dernier. Avec `array.at(-1)`, on peut avoir une écriture plus concise pour accéder au dernier élément. Voir les exemples ci-après.

Exemple interactif
------------------

Syntaxe
-------


```js
at(indice);
```

### Paramètres

`indice`

L'indice (c'est-à-dire la position) de l'élément du tableau qu'on souhaite récupérer. Il est possible d'utiliser des valeurs négatives pour récupérer un élément en comptant depuis la fin du tableau.

### Valeur de retour

L'élément du tableau situé à l'indice indiqué. Si aucune valeur ne peut être trouvé à l'indice donné, c'est `undefined` qui est renvoyé.

Exemples
--------

### Renvoyer la dernière valeur d'un tableau

L'exemple qui suit fournit une fonction qui renvoie le dernier élément trouvé dans un tableau.


```js
// Le tableau avec des éléments
const corbeille = ["pomme", "banane", "poire"];

// Une fonction qui renvoie le dernier
// élément d'un tableau
function dernierElem(arr) {
  return arr.at(-1);
}

// On récupère le dernier élément du
// tableau 'corbeille'
const item1 = dernierElem(corbeille);
console.log(item1);
// Affiche 'poire' dans la console

// On ajoute un élément au tableau
// 'corbeille'
corbeille.push("orange");
const item2 = dernierElem(corbeille);
console.log(item2);
// Affiche 'orange' dans la console
```

### Comparaison de méthodes

On compare ici différentes façons d'accéder à l'avant-dernier élément d'un tableau (`Array`). Bien que toutes les méthodes présentées ici soient valides et équivalentes, on pourra noter la concision et la lisibilité de la méthode `at()`.


```js
// Un tableau de valeurs
const couleurs = ["rouge", "vert", "bleu"];

// En utilisant la propriété length
const avecLength = couleurs[couleurs.length - 2];
console.log(avecLength);
// Affiche 'vert' dans la console

// En utilisant la méthode slice()
// qui renvoie un tableau
const avecSlice = couleurs.slice(-2, -1);
console.log(avecSlice[0]);
// Affiche 'vert' dans la console

// En utilisant la méthode at()
const avecAt = couleurs.at(-2);
console.log(avecAt);
// Affiche 'vert' dans la console
```

Spécifications
--------------

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

Compatibilité des navigateurs
-----------------------------

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

Voir aussi
----------

* `Array.prototype.find()` qui renvoie une valeur selon un test donné
* `Array.prototype.includes()` qui teste si une valeur existe dans le tableau
* `Array.prototype.indexOf()` qui renvoie l'indice d'un élément donné
* Prothèses d'émulation (*polyfills*)
    + Celle de la proposition TC39.
    + Celle de `core-js`