[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/fill [Back]  [Original]

Array : mthode fill() - JavaScript | MDN

Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.

View in English Always switch to English

Array : mthode fill()

Baseline Large disponibilit

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 mthode fill() des instances de Array modifie tous les lments 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 4
console.log(array.fill(0, 2, 4));
// Sortie attendue : Array [1, 2, 0, 0]

// Remplir avec 5  partir de la position 1
console.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

js
fill(value)
fill(value, start)
fill(value, start, end)

Paramtres

value

Une valeur avec laquelle remplir le tableau. Notez que tous les lments du tableau auront exactement cette valeur : si value est un objet, chaque case du tableau rfrencera cet objet.

start Facultatif

L'indice de dbut ( partir de zro) partir duquel commencer remplir, converti en entier.

  • Un indice ngatif compte rebours depuis la fin du tableau : si -array.length <= start < 0, on utilise start + array.length.
  • Si start < -array.length ou si start est omis, on utilise 0.
  • Si start >= array.length, aucun indice n'est rempli.
end Facultatif

L'indice de fin ( partir de zro) auquel arrter de remplir, converti en entier. fill() remplit jusqu' mais sans inclure end.

  • Un indice ngatif compte rebours depuis la fin du tableau : si -array.length <= end < 0, on utilise end + array.length.
  • Si end < -array.length, on utilise 0.
  • Si end >= array.length ou si end est omis ou undefined, on utilise array.length, ce qui fait que tous les indices jusqu' la fin sont remplis.
  • Si end implique une position avant ou la mme position que celle implique par start, rien n'est rempli.

Valeur de retour

Le tableau modifi, rempli avec value.

Description

La mthode fill() est une mthode de modification. Elle ne modifie pas la longueur de this, mais elle en modifie le contenu.

La mthode fill() remplit galement les cases vides dans les tableaux creux avec value.

La mthode fill() est gnrique. Elle attend seulement que la valeur de this possde une proprit length. Bien que les chanes de caractres soient aussi assimilables des tableaux, cette mthode ne convient pas pour les utiliser, car les chanes sont immuables.

Note : Utiliser Array.prototype.fill() sur un tableau vide (length = 0) ne le modifiera pas car il n'y a rien modifier. Pour utiliser Array.prototype.fill() lors de la dclaration d'un tableau, assurez-vous que le tableau a une length non nulle. Voir l'exemple.

Exemples

Utilisation de fill()

js
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, rfrenc par chaque case du tableau :
const arr = Array(3).fill({}); // [{}, {}, {}]
arr[0].hi = "hi"; // [{ hi: "hi" }, { hi: "hi" }, { hi: "hi" }]

Utiliser fill() pour crer une matrice de 1

Cet exemple montre comment crer une matrice remplie de 1, comme la fonction ones() d'Octave ou MATLAB.

js
const arr = new Array(3);
for (let i = 0; i < arr.length; i++) {
  arr[i] = new Array(4).fill(1); // Cration d'un tableau de taille 4 rempli de 1
}
arr[0][0] = 10;
console.log(arr[0][0]); // 10
console.log(arr[1][0]); // 1
console.log(arr[2][0]); // 1

Utiliser fill() pour remplir un tableau vide

Cet exemple montre comment remplir un tableau en attribuant une valeur spcifique tous les lments. Le paramtre end n'a pas besoin d'tre spcifi.

js
const tempGirls = Array(5).fill("girl", 0);

Notez que le tableau tait initialement un tableau creux sans indices attribus. fill() peut tout de mme remplir ce tableau.

Appeler fill() sur des objets qui ne sont pas des tableaux

La mthode fill() lit la proprit length de this et dfinit la valeur de chaque proprit cl entire de start end.

js
const objetSimilaireTableau = { length: 2 };
console.log(Array.prototype.fill.call(objetSimilaireTableau, 1));
// { '0': 1, '1': 1, length: 2 }

Spcifications

Spcification
ECMAScript 2027 LanguageSpecification
# sec-array.prototype.fill

Compatibilit des navigateurs

Voir aussi


Web Proxy Viewer  |  New URL  |  Original Page