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
DDDOriginal
2024-12-09 19:46:15340Durchsuche

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]

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!

Stellungnahme:
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