HTML: Markup language
CSS: Styling language
JavaScript: Scripting language
Web APIs: Programming interfaces
All web technology
Learn web development
Discover our tools
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
View in English Always switch to English
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit September 2015 browserübergreifend verfügbar.
Die fill() Methode von Array Instanzen ändert alle Elemente innerhalb eines Indexbereichs in einem Array zu einem statischen Wert. Sie gibt das modifizierte Array zurück.
fill()
Array
const array = [1, 2, 3, 4]; // Fill with 0 from position 2 until position 4 console.log(array.fill(0, 2, 4)); // Expected output: Array [1, 2, 0, 0] // Fill with 5 from position 1 console.log(array.fill(5, 1)); // Expected output: Array [1, 5, 5, 5] console.log(array.fill(6)); // Expected output: Array [6, 6, 6, 6]
fill(value) fill(value, start) fill(value, start, end)
value
Wert, mit dem das Array gefüllt werden soll. Beachten Sie, dass alle Elemente im Array genau diesen Wert haben werden: wenn value ein Objekt ist, wird jeder Platz im Array auf dieses Objekt verweisen.
start
Der nullbasierte Index, an dem das Füllen beginnt, konvertiert in eine Ganzzahl.
-array.length <= start < 0
start + array.length
start < -array.length
0
start >= array.length
end
Der nullbasierte Index, an dem das Füllen endet, konvertiert in eine Ganzzahl. fill() füllt bis, aber nicht einschließlich end.
-array.length <= end < 0
end + array.length
end < -array.length
end >= array.length
undefined
array.length
Das modifizierte Array, gefüllt mit value.
Die fill() Methode ist eine mutierende Methode. Sie verändert nicht die Länge von this, aber sie wird den Inhalt von this ändern.
this
Die fill() Methode füllt auch leere Stellen in sparse Arrays mit value.
Die fill() Methode ist generisch. Sie erwartet nur, dass der this Wert eine length Eigenschaft hat. Obwohl Strings auch array-ähnlich sind, ist diese Methode nicht geeignet, um auf ihnen angewendet zu werden, da Strings unveränderlich sind.
length
Hinweis: Die Verwendung von Array.prototype.fill() auf einem leeren Array (length = 0) würde es nicht modifizieren, da das Array nichts zu modifizieren hat. Um Array.prototype.fill() beim Deklarieren eines Arrays zu verwenden, stellen Sie sicher, dass das Array eine Nicht-Null-length hat. Siehe Beispiel.
Array.prototype.fill()
length = 0
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] // A single object, referenced by each slot of the array: const arr = Array(3).fill({}); // [{}, {}, {}] arr[0].hi = "hi"; // [{ hi: "hi" }, { hi: "hi" }, { hi: "hi" }]
Dieses Beispiel zeigt, wie man eine Matrix aus Einsen erstellt, ähnlich der ones() Funktion von Octave oder MATLAB.
ones()
const arr = new Array(3); for (let i = 0; i < arr.length; i++) { arr[i] = new Array(4).fill(1); // Creating an array of size 4 and filled of 1 } arr[0][0] = 10; console.log(arr[0][0]); // 10 console.log(arr[1][0]); // 1 console.log(arr[2][0]); // 1
Dieses Beispiel zeigt, wie man ein Array füllt, indem alle Elemente auf einen bestimmten Wert gesetzt werden. Der end Parameter muss nicht angegeben werden.
const tempGirls = Array(5).fill("girl", 0);
Beachten Sie, dass das Array ursprünglich ein sparse array ohne zugewiesene Indizes war. fill() ist dennoch in der Lage, dieses Array zu füllen.
Die fill() Methode liest die length Eigenschaft von this und setzt den Wert jeder ganzzahligen Schlüssel-Eigenschaft von start bis end.
const arrayLike = { length: 2 }; console.log(Array.prototype.fill.call(arrayLike, 1)); // { '0': 1, '1': 1, length: 2 }
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Array.prototype.fill
core-js
TypedArray.prototype.fill()