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 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 2015.
La méthodefill() des instances deArray modifie tous les éléments d'un tableau compris dans un intervalle d'indices pour leur attribuer une valeur statique. Elle retourne le tableau modifié.
Dans cet article
Exemple interactif
const array = [1, 2, 3, 4];// Remplir avec 0 de la position 2 jusqu'à la position 4console.log(array.fill(0, 2, 4));// Sortie attendue : Array [1, 2, 0, 0]// Remplir avec 5 à partir de la position 1console.log(array.fill(5, 1));// Sortie attendue : Array [1, 5, 5, 5]console.log(array.fill(6));// Sortie attendue : Array [6, 6, 6, 6]Syntaxe
fill(value)fill(value, start)fill(value, start, end)Paramètres
valueUne valeur avec laquelle remplir le tableau. Notez que tous les éléments du tableau auront exactement cette valeur : si
valueest un objet, chaque case du tableau référencera cet objet.startFacultatifL'indice de début (à partir de zéro) à partir duquel commencer à remplir,converti en entier.
- Un indice négatif compte à rebours depuis la fin du tableau : si
-array.length <= start < 0, on utilisestart + array.length. - Si
start < -array.lengthou sistartest omis, on utilise0. - Si
start >= array.length, aucun indice n'est rempli.
- Un indice négatif compte à rebours depuis la fin du tableau : si
endFacultatifL'indice de fin (à partir de zéro) auquel arrêter de remplir,converti en entier.
fill()remplit jusqu'à mais sans inclureend.- Un indice négatif compte à rebours depuis la fin du tableau : si
-array.length <= end < 0, on utiliseend + array.length. - Si
end < -array.length, on utilise0. - Si
end >= array.lengthou siendest omis ouundefined, on utilisearray.length, ce qui fait que tous les indices jusqu'à la fin sont remplis. - Si
endimplique une position avant ou à la même position que celle impliquée parstart, rien n'est rempli.
- Un indice négatif compte à rebours depuis la fin du tableau : si
Valeur de retour
Le tableau modifié, rempli avecvalue.
Description
La méthodefill() est uneméthode de modification. Elle ne modifie pas la longueur dethis, mais elle en modifie le contenu.
La méthodefill() remplit également les cases vides dans les tableauxcreux avecvalue.
La méthodefill() estgénérique. Elle attend seulement que la valeur dethis possède une propriétélength. Bien que les chaînes de caractères soient aussi assimilables à des tableaux, cette méthode ne convient pas pour les utiliser, car les chaînes sont immuables.
Note :UtiliserArray.prototype.fill() sur un tableau vide (length = 0) ne le modifiera pas car il n'y a rien à modifier.Pour utiliserArray.prototype.fill() lors de la déclaration d'un tableau, assurez-vous que le tableau a unelength non nulle.Voir l'exemple.
Exemples
>Utilisation defill()
console.log([1, 2, 3].fill(4)); // [4, 4, 4]console.log([1, 2, 3].fill(4, 1)); // [1, 4, 4]console.log([1, 2, 3].fill(4, 1, 2)); // [1, 4, 3]console.log([1, 2, 3].fill(4, 1, 1)); // [1, 2, 3]console.log([1, 2, 3].fill(4, 3, 3)); // [1, 2, 3]console.log([1, 2, 3].fill(4, -3, -2)); // [4, 2, 3]console.log([1, 2, 3].fill(4, NaN, NaN)); // [1, 2, 3]console.log([1, 2, 3].fill(4, 3, 5)); // [1, 2, 3]console.log(Array(3).fill(4)); // [4, 4, 4]// Un seul objet, référencé par chaque case du tableau :const arr = Array(3).fill({}); // [{}, {}, {}]arr[0].hi = "hi"; // [{ hi: "hi" }, { hi: "hi" }, { hi: "hi" }]Utiliserfill() pour créer une matrice de 1
Cet exemple montre comment créer une matrice remplie de 1, comme la fonctionones() d'Octave ou MATLAB.
const arr = new Array(3);for (let i = 0; i < arr.length; i++) { arr[i] = new Array(4).fill(1); // Création d'un tableau de taille 4 rempli de 1}arr[0][0] = 10;console.log(arr[0][0]); // 10console.log(arr[1][0]); // 1console.log(arr[2][0]); // 1Utiliserfill() pour remplir un tableau vide
Cet exemple montre comment remplir un tableau en attribuant une valeur spécifique à tous les éléments.Le paramètreend n'a pas besoin d'être spécifié.
const tempGirls = Array(5).fill("girl", 0);Notez que le tableau était initialement untableau creux sans indices attribués.fill() peut tout de même remplir ce tableau.
Appelerfill() sur des objets qui ne sont pas des tableaux
La méthodefill() lit la propriétélength dethis et définit la valeur de chaque propriété à clé entière destart àend.
const objetSimilaireTableau = { length: 2 };console.log(Array.prototype.fill.call(objetSimilaireTableau, 1));// { '0': 1, '1': 1, length: 2 }Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-array.prototype.fill> |