Erstellen von Arrays mit Bereichswerten in JavaScript
Programmierer stehen häufig vor der Notwendigkeit, Arrays mit einem Bereich von Werten zu erstellen. Ein gängiger Ansatz beinhaltet eine Schleife, die iterativ jedes Element zum Array hinzufügt. Gibt es jedoch eine prägnantere und effizientere Methode ohne die Verwendung einer Schleife?
In ES6 führte JavaScript zwei Schlüsselmethoden zur Lösung dieses Problems ein: Array.from() und keys(). Mit Array.from() kann man ein iterierbares Objekt in ein Array konvertieren. Die Methode „keys()“ gibt einen Iterator für die Schlüssel eines bestimmten Objekts zurück. Durch die Kombination dieser Methoden können Sie eine Array-Erstellung mit einem Wertebereich erreichen.
Lösung mit Array.from() und keys()
Array.from(Array(10).keys()) // Result: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Der obige Ansatz nutzt die Tatsache, dass Array(n) ein Array der Länge n erstellt, das zunächst mit undefinierten Werten gefüllt ist. Durch die Verwendung von „keys()“ für dieses Array erhalten wir eine Iterable der Schlüssel des Arrays, die dem gewünschten Zahlenbereich entsprechen. Array.from() wandelt diese Iterable dann in ein Array um.
Kürzere Version mit Spread-Operator
[...Array(10).keys()] // Result: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Der Spread-Operator (...) ermöglicht es Ihnen Erweitern Sie ein Itable in seine einzelnen Elemente. Daher verwendet die kürzere Version der vorherigen Lösung den Spread-Operator, um das gleiche Ergebnis zu erzielen.
Beginnend bei 1
Um den Bereich bei 1 statt bei 0 zu beginnen, Sie können die Funktion „map()“ zusammen mit Array.from() verwenden:
Array.from({length: 10}, (_, i) => i + 1) // Result: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Die Funktion „map()“ transformiert jedes Element im Iterable. Hier ist jedes Element ein vom ursprünglichen Array übergebener Wert, dargestellt durch den Platzhalter _, und sein entsprechender Index, dargestellt durch i. Die Transformation fügt 1 zum Index hinzu und beginnt den Bereich bei 1. Das Ergebnis wird dann an Array.from() übergeben, um das endgültige Array zu erstellen.
Das obige ist der detaillierte Inhalt vonWie kann ich in JavaScript effizient Arrays mit Bereichswerten erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!