Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
Array : méthode at()
Baseline Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis mars 2022.
La méthodeat() des instances deArray prend une valeur entière et retourne l'élément à cet indice, en acceptant des entiers positifs ou négatifs. Les entiers négatifs comptent à rebours depuis le dernier élément du tableau.
Dans cet article
Exemple interactif
const array = [5, 12, 8, 130, 44];let index = 2;console.log(`Un indice de ${index} retourne ${array.at(index)}`);// Résultat attendu : "Un indice de 2 retourne 8"index = -2;console.log(`Un indice de ${index} retourne ${array.at(index)}`);// Résultat attendu : "Un indice de -2 retourne 130"Syntaxe
at(index)Paramètres
indexIndice (commençant à zéro) de l'élément du tableau à retourner,converti en entier. Un indice négatif compte à rebours depuis la fin du tableau — si
index < 0, c'estindex + array.lengthqui est utilisé.
Valeur de retour
L'élément du tableau correspondant à l'indice donné. Retourne toujoursundefined siindex < -array.length ouindex >= array.length, sans tenter d'accéder à la propriété correspondante.
Description
La méthodeat() est équivalente à la notation avec crochets lorsqueindex est un entier positif ou nul. Par exemple,array[0] etarray.at(0) retournent tous deux le premier élément. Cependant, pour compter à partir de la fin du tableau, on ne peut pas utiliserarray[-1] comme en Python ou R, car toutes les valeurs entre crochets sont traitées littéralement comme des propriétés de chaîne de caractères, on lit doncarray["-1"], qui est simplement une propriété de chaîne de caractères ordinaire et non un indice de tableau.
La pratique courante consiste à accéder àlength et à calculer l'indice à partir de là — par exemple,array[array.length - 1]. La méthodeat() permet un indexage relatif, ce qui permet de simplifier en écrivantarray.at(-1).
En combinantat() avecwith(), on peut lire et écrire (respectivement) dans un tableau en utilisant des indices négatifs.
La méthodeat() estgénérique. Elle attend seulement que la valeur dethis possède une propriétélength et des propriétés à clé entière.
Exemples
>Retourner la dernière valeur d'un tableau
L'exemple qui suit fournit une fonction qui retourne le dernier élément trouvé dans un tableau.
// Le tableau avec des élémentsconst panier = ["pomme", "banane", "poire"];// Une fonction qui retourne le dernier// élément d'un tableaufunction dernierElem(arr) { return arr.at(-1);}// On récupère le dernier élément du// tableau 'panier'const item1 = dernierElem(panier);console.log(item1);// Affiche 'poire' dans la console// On ajoute un élément au tableau// 'panier'panier.push("orange");const item2 = dernierElem(panier);console.log(item2);// Affiche 'orange' dans la consoleComparaison 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éthodeat().
// Un tableau de valeursconst couleurs = ["rouge", "vert", "bleu"];// En utilisant la propriété lengthconst avecLength = couleurs[couleurs.length - 2];console.log(avecLength);// Affiche 'vert' dans la console// En utilisant la méthode slice()// qui renvoie un tableauconst 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 consoleUtiliserat() sur des objets ressemblant à des tableaux
La méthodeat() lit la propriétélength dethis et calcule l'indice à accéder.
const objetSimilaireTableau = { length: 2, 0: "a", 1: "b", 2: "c", // ignoré par at() car length vaut 2};console.log(Array.prototype.at.call(objetSimilaireTableau, 0)); // "a"console.log(Array.prototype.at.call(objetSimilaireTableau, 2)); // undefinedSpécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-array.prototype.at> |
Compatibilité des navigateurs
Voir aussi
- Guide des collections indexées
- L'objet global
Array - La méthode
Array.prototype.findIndex() - La méthode
Array.prototype.indexOf() - La méthode
Array.prototype.with() - La méthode
TypedArray.prototype.at() - La méthode
String.prototype.at() - Prothèse d'émulation pour
Array.prototype.atdanscore-js(angl.) - Prothèse d'émulation es-shims pour
Array.prototype.at(angl.)