Arrays mit einer bestimmten Länge zu erstellen, ist eine gängige Aufgabe in JavaScript. Obwohl JavaScript-Arrays dynamisch sind, kann ihre Initialisierung auf eine vorgegebene Größe die Lesbarkeit des Codes und in einigen Fällen auch die Performance verbessern. Dieser Artikel untersucht effiziente Techniken, um dies zu erreichen.
Inhaltsverzeichnis
- Arrays mit dem
Array()
-Konstruktor erstellen - Arrays mit
fill()
füllen - Arrays mit
map()
generieren - Vergleich der Methoden
Arrays mit dem Array()
-Konstruktor erstellen
Die einfachste Methode verwendet den Array()
-Konstruktor. Die Angabe eines einzelnen numerischen Arguments erstellt ein Array dieser Länge, das anfänglich mit undefined
-Werten gefüllt ist:
const arrayLength = 5;
const myArray = new Array(arrayLength);
console.log(myArray); // Ausgabe: [ , , , , ] (oder [ ] abhängig von der Browserkonsole)
console.log(myArray.length); // Ausgabe: 5
Dies ist effizient für die Erstellung von Arrays, bei denen die Anfangswerte nicht entscheidend sind. Beachten Sie, dass die visuelle Darstellung in der Konsole variieren kann.
Arrays mit fill()
füllen
Für Arrays, die mit einem bestimmten Wert initialisiert werden, ist die fill()
-Methode sehr effizient und lesbar:
const arrayLength = 5;
const defaultValue = 0;
const myArray = new Array(arrayLength).fill(defaultValue);
console.log(myArray); // Ausgabe: [0, 0, 0, 0, 0]
console.log(myArray.length); // Ausgabe: 5
fill()
füllt das Array direkt, wodurch es die bevorzugte Wahl für dieses gängige Szenario ist.
Arrays mit map()
generieren
Wenn Sie Werte dynamisch generieren müssen, bietet die map()
-Methode Flexibilität. In Kombination mit dem Array()
-Konstruktor können Sie ein Array in einem einzigen Schritt erstellen und füllen:
const arrayLength = 5;
const myArray = Array(arrayLength).fill().map((_, index) => index * 2); //Hinweis: Verwendung von fill() hier zur Array-Erstellung
console.log(myArray); // Ausgabe: [0, 2, 4, 6, 8]
console.log(myArray.length); // Ausgabe: 5
Dieses Beispiel generiert Werte basierend auf dem Index, aber map()
kann jede Logik verarbeiten, um den gewünschten Array-Inhalt zu erstellen.
Vergleich der Methoden
Während die apply()
-Methode zuvor vorgeschlagen wurde, bietet fill()
im Allgemeinen eine bessere Lesbarkeit und Performance für die Initialisierung von Arrays mit einem einzelnen Wert. Der Array()
-Konstruktor bleibt nützlich für die Erstellung leerer Arrays mit einer bestimmten Länge. map()
glänzt, wenn Sie eine dynamische Wertgenerierung benötigen.
Wählen Sie die Methode, die Ihren Anforderungen am besten entspricht. Für die einfache Initialisierung mit einem konstanten Wert ist fill()
der empfohlene Ansatz.