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éthode fill() 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 que Array.prototype.fill(). Dans le reste de cet article, TypedArray correspond à l'un des types de tableaux typés.
Exemple interactif
const uint8 = new Uint8Array([0, 0, 0, 0]);
// Value, start position, end position
uint8.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
valeur-
La valeur avec laquelle on souhaite remplir le tableau.
début-
Paramètre optionnel qui représente l'indice à partir duquel remplir le tableau. La valeur par défaut est 0.
fin-
Paramè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éthode fill utilise jusqu'à trois arguments : valeur, début et fin. début et fin sont optionnels, leurs valeurs par défaut respectives sont 0 et la valeur de la propriété length de l'objet this.
Si début est négatif, on le traite comme length+début où length représente la longueur du tableau. Si fin est négative, on le traite comme length+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 nom TypedArray, la prothèse doit donc être appliquée uniquement si nécessaire, aussi Array.prototype.fill() pourra éventuellement être utilisé (voire la prothèse de cette dernière).
// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.fill
if (!Uint8Array.prototype.fill) {
Uint8Array.prototype.fill = Array.prototype.fill;
}
Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-%typedarray%.prototype.fill> |
Compatibilité des navigateurs
Chargement…