Heim > Web-Frontend > js-Tutorial > Wie kann JavaScript Zahlen- und Zeichenbereiche ohne eine dedizierte „range()'-Funktion generieren?

Wie kann JavaScript Zahlen- und Zeichenbereiche ohne eine dedizierte „range()'-Funktion generieren?

Barbara Streisand
Freigeben: 2024-12-10 22:26:10
Original
924 Leute haben es durchsucht

How Can JavaScript Generate Numeric and Character Ranges Without a Dedicated `range()` Function?

In JavaScript integrierte Funktionen zum Generieren von Bereichen

In PHP wird die Funktion „range()“ verwendet, um ein Array von Werten innerhalb der angegebenen Werte zu generieren Grenzen. JavaScript hat kein direktes Äquivalent, aber native Methoden können verwendet werden, um eine ähnliche Funktionalität zu erreichen.

Numerische Bereiche

Um einen Zahlenbereich zu erstellen, können Sie verwenden die folgende Technik:

[...Array(5).keys()]; // [0, 1, 2, 3, 4]
Nach dem Login kopieren

Dieser Code generiert ein Array von Werten von 0 bis 4 (einschließlich).

Zeichenbereiche

Verwenden Sie für einen Zeichenbereich den folgenden Ansatz:

String.fromCharCode(...[...Array('D'.charCodeAt(0) - 'A'.charCodeAt(0) + 1).keys()].map(i => i + 'A'.charCodeAt(0))); // "ABCD"
Nach dem Login kopieren

Dieser Code generiert die Zeichen „ A“ bis „D“.

Iteriert Bereiche

Alternativ können Sie Iteration verwenden, um Bereiche zu generieren:

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

Dieser Code iteriert über die Zahlen von 0 bis 4 und gibt die entsprechenden Zeichen aus.

Bereichsfunktionen erstellen

Um wiederverwendbare Bereichsfunktionen zu erstellen, können Sie Folgendes tun Folgendes:

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

Bibliotheken von Drittanbietern

Die lodash.js-Bibliothek bietet eine _.range()-Funktion, die die Bereichsgenerierung vereinfacht:

_.range(10); // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Nach dem Login kopieren

Kompatibilität mit älteren Browsern

Für ältere Browser die ES6 nicht unterstützen, verwenden Sie den folgenden Code:

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 vonWie kann JavaScript Zahlen- und Zeichenbereiche ohne eine dedizierte „range()'-Funktion generieren?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage