Heim >Web-Frontend >js-Tutorial >Bietet JavaScript eine integrierte Range-Funktion wie „range()' von PHP?
Verfügt JavaScript über eine integrierte Range-Funktion wie PHPs „range()“?
In PHP ist die Range()-Funktion Wird verwendet, um ein Array von Werten innerhalb eines angegebenen Bereichs zu generieren, entweder numerisch oder alphanumerisch. JavaScript bietet jedoch keine ähnliche native Funktion. In diesem Artikel wird erläutert, wie eine solche Funktionalität in JavaScript implementiert wird.
Numerische Bereiche
Um einen Zahlenbereich zu generieren, können Sie Array.from() und Array verwenden. Die kombinierten Methoden „keys()“:
[...Array(5).keys()]; // [0, 1, 2, 3, 4]
Dadurch wird ein Array mit Indexwerten von 0 bis 4 erstellt, die die gewünschte Zahl darstellen Bereich.
Zeichenbereiche
Für Zeichenbereiche können Sie die Methode String.fromCharCode() zusammen mit der Methode charCodeAt() verwenden, um Zeichencodes in Zeichen umzuwandeln :
String.fromCharCode(...[...Array('D'.charCodeAt(0) - 'A'.charCodeAt(0) + 1).keys()].map(i => i + 'A'.charCodeAt(0))); // "ABCD"
Iteration
Sie können auch ein for verwenden Schleife zum Durchlaufen eines Wertebereichs:
for (const x of Array(5).keys()) { console.log(x, String.fromCharCode('A'.charCodeAt(0) + x)); } // 0,"A" 1,"B" 2,"C" 3,"D" 4,"E"
Funktionen
Um den Bereichsgenerierungsprozess zu abstrahieren, können Sie benutzerdefinierte Funktionen erstellen:
function range(size, startAt = 0) { return [...Array(size).keys()].map(i => i + startAt); } function characterRange(startChar, endChar) { return String.fromCharCode(...range(endChar.charCodeAt(0) - startChar.charCodeAt(0), startChar.charCodeAt(0))) }
Lodash.js
Wenn Sie die Lodash-Bibliothek verwenden, Sie kann zu diesem Zweck seine _.range()-Funktion nutzen:
_.range(10); // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Nicht-ES6-Browser-Kompatibilität
In älteren Browsern ohne ES6-Unterstützung können Sie dies verwenden Alternative:
Array.apply(null, Array(5)).map(function (_, i) {return i;}); // [0, 1, 2, 3, 4]
Das obige ist der detaillierte Inhalt vonBietet JavaScript eine integrierte Range-Funktion wie „range()' von PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!