Heim > Web-Frontend > js-Tutorial > Bietet JavaScript eine integrierte Range-Funktion wie „range()' von PHP?

Bietet JavaScript eine integrierte Range-Funktion wie „range()' von PHP?

DDD
Freigeben: 2024-12-09 19:46:15
Original
357 Leute haben es durchsucht

Does JavaScript Offer a Built-in Range Function Like PHP's `range()`?

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]
Nach dem Login kopieren

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"
Nach dem Login kopieren

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"
Nach dem Login kopieren

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)))
}
Nach dem Login kopieren

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]
Nach dem Login kopieren

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]
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage