Maison >interface Web >js tutoriel >Comment puis-je créer une fonction de plage en JavaScript similaire à la fonction range() de PHP ?
JavaScript a-t-il une fonction de plage comme la fonction range() de PHP ?
La fonction range() de PHP vous permet de générer sans effort un tableau de nombres ou des caractères dans des limites spécifiées. Cependant, JavaScript ne dispose pas de fonction intégrée à cet effet. Voici quelques méthodes pour implémenter cette fonctionnalité en JavaScript :
Numbers
Utilisez la méthode Array.keys() :
[...Array(5).keys()]; // [0, 1, 2, 3, 4]
Itération de caractère
Exploitez String.fromCharCode() pour parcourir le caractère ranges :
String.fromCharCode(...[...Array('D'.charCodeAt(0) - 'A'.charCodeAt(0) + 1).keys()].map(i => i + 'A'.charCodeAt(0))); // "ABCD"
Itération générique
Utiliser des boucles for...of en conjonction avec 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"
Fonctions de plage personnalisées
Créez des fonctions réutilisables pour générer plages :
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))) }
En tant que fonctions typées
Les utilisateurs de TypeScript peuvent définir des fonctions typées :
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))) }
Bibliothèques externes
Vous pouvez également utiliser des bibliothèques tierces telles que lodash.js, qui fournit une fonction range() :
_.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]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!