...und Array.fill() kommt zur Rettung!
Bevor ich das hier kannte, habe ich alles manuell geschrieben.
Array(5).fill('') // => ['','','','','']
Array(4).fill(0) // => [0, 0, 0, 0]
Sie können auch einfach ein sequenzielles Array mit fill() + map() erstellen
Array(4).fill('').map((_, i) => i + ' ') // => ['0 ','1 ','2 ','3 ']
Array(3).fill(' ').map((flower, i) => i + flower) // => ['0 ','1 ','2 ']
Seien Sie vorsichtig, wenn Sie Objekte und Arrays mit .fill() erstellen, denn sie sind referenzierte Typen
Das bedeutet, dass Javascript alle erstellten Objekte als ein und dasselbe Objekt betrachtet (was zu unerwarteten Fehlern führen kann, falls Sie weiter mit den erstellten Objekten interagieren möchten)
// Careful when using .fill() with objects and arrays:
Array(3).fill({ value: 2 }) // => [{ value: 2 },{ value: 2 },{ value: 2 }]
Die obige Zeile funktioniert, aber es wäre viel sicherer, sich an das Muster .fill().map() zu halten. Etwa so:
// Much better!
Array(3).fill().map(item => ({ value: 2 }))