TypedArray.prototype.at()

Baseline 2022

Newly available

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

La méthode at() prend comme argument un entier et renvoie l'élément du tableau typé situé à cette position. Il est possible d'utiliser des entiers positifs et négatifs. Si l'argument est négatif, la position est relative à la fin du tableau.

L'accès aux éléments d'un tableau typé en utilisant les crochets ne permet que d'utiliser des indices positifs : typedarray[0] renverra le premier élément, typedarray[typedarray.length-1] renverra le dernier. Avec typedarray.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 typé 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 typé 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 typé

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

js
const uint8 = new Uint8Array([1, 2, 4, 7, 11, 18]);

// Une fonction qui renvoie le dernier élément
function returnLast(arr) {
  return arr.at(-1);
}

const lastItem = returnLast(uint8);
console.log(lastItem); // Affiche 18 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 typé (TypedArray). 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
// Le tableau typé de départ
const uint8 = new Uint8Array([1, 2, 4, 7, 11, 18]);

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

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

// En utilisant la méthode at()
const avecAt = uint8.at(-2);
console.log(avecAt); // Affiche 11 dans la console

Spécifications

Specification
ECMAScript Language Specification
# sec-%typedarray%.prototype.at

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi