Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
TypedArray.prototype.fill()
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 septembre 2016.
La méthodefill() remplit les éléments d'un tableau typé contenu entre un indice de début et un indice de fin avec une valeur statique. Cette méthode utilise le même algorithme queArray.prototype.fill(). Dans le reste de cet article,TypedArray correspond à l'un destypes de tableaux typés.
Dans cet article
Exemple interactif
const uint8 = new Uint8Array([0, 0, 0, 0]);// Value, start position, end positionuint8.fill(4, 1, 3);console.log(uint8);// Expected output: Uint8Array [0, 4, 4, 0]Syntaxe
typedarray.fill(valeur[, début = 0[, fin = this.length]])Paramètres
valeurLa valeur avec laquelle on souhaite remplir le tableau.
débutParamètre optionnel qui représente l'indice à partir duquel remplir le tableau. La valeur par défaut est 0.
finParamètre optionnel qui représente l'indice jusqu'auquel remplir le tableau. La valeur par défaut est la longueur du tableau (
this.length).
Valeur de retour
Le tableau typé, modifié par la fonction.
Description
L'intervalle d'éléments à modifier est [début,fin).
La méthodefill utilise jusqu'à trois arguments :valeur,début etfin.début etfin sont optionnels, leurs valeurs par défaut respectives sont0 et la valeur de la propriétélength de l'objetthis.
Sidébut est négatif, on le traite commelength+début oùlength représente la longueur du tableau. Sifin est négative, on le traite commelength+fin.
Exemples
new Uint8Array([1, 2, 3]).fill(4); // Uint8Array [4, 4, 4]new Uint8Array([1, 2, 3]).fill(4, 1); // Uint8Array [1, 4, 4]new Uint8Array([1, 2, 3]).fill(4, 1, 2); // Uint8Array [1, 4, 3]new Uint8Array([1, 2, 3]).fill(4, 1, 1); // Uint8Array [1, 2, 3]new Uint8Array([1, 2, 3]).fill(4, -3, -2); // Uint8Array [4, 2, 3]Prothèse d'émulation (polyfill)
Il n'existe pas d'objet global avec le nomTypedArray, la prothèse doit donc être appliquée uniquement si nécessaire, aussiArray.prototype.fill() pourra éventuellement être utilisé (voire la prothèse de cette dernière).
// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.fillif (!Uint8Array.prototype.fill) { Uint8Array.prototype.fill = Array.prototype.fill;}Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-%typedarray%.prototype.fill> |