Heim >Web-Frontend >js-Tutorial >Wie kann ich in JavaScript eine Range-Funktion erstellen, die PHPs range() ähnelt?
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!