Heim >Web-Frontend >js-Tutorial >Wie kann ich in JavaScript eine Range-Funktion erstellen, die PHPs range() ähnelt?

Wie kann ich in JavaScript eine Range-Funktion erstellen, die PHPs range() ähnelt?

Susan Sarandon
Susan SarandonOriginal
2024-12-14 21:24:13326Durchsuche

How Can I Create a Range Function in JavaScript Similar to PHP's range()?

Verfügt JavaScript über eine Range-Funktion wie PHPs range()?

PHPs range()-Funktion ermöglicht es Ihnen, mühelos ein Array von Zahlen zu generieren oder Zeichen innerhalb der angegebenen Grenzen. Allerdings verfügt JavaScript für diesen Zweck nicht über eine eingebaute Funktion. Hier sind einige Methoden, um diese Funktionalität in JavaScript zu implementieren:

Zahlen

Verwenden Sie die Array.keys()-Methode:

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

Zeicheniteration

Nutzen Sie String.fromCharCode(), um Zeichen zu durchlaufen Bereiche:

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

Generische Iteration

Verwenden Sie for...of-Schleifen in Verbindung mit String.fromCharCode():

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"

Benutzerdefinierte Bereichsfunktionen

Erstellen Sie wiederverwendbare Funktionen zum Generieren Bereiche:

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)))
}

Als typisierte Funktionen

TypeScript-Benutzer können typisierte Funktionen definieren:

function range(size:number, startAt:number = 0):ReadonlyArray<number> {
    return [...Array(size).keys()].map(i => i + startAt);
}

function characterRange(startChar:string, endChar:string):ReadonlyArray<string> {
    return String.fromCharCode(...range(endChar.charCodeAt(0) -
            startChar.charCodeAt(0), startChar.charCodeAt(0)))
}

Externe Bibliotheken

Alternativ können Sie Bibliotheken von Drittanbietern nutzen, z lodash.js, das eine range()-Funktion bereitstellt:

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

Das obige ist der detaillierte Inhalt vonWie kann ich in JavaScript eine Range-Funktion erstellen, die PHPs range() ähnelt?. 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