Maison >interface Web >js tutoriel >Comment puis-je créer une fonction de plage en JavaScript similaire à la fonction range() de PHP ?

Comment puis-je créer une fonction de plage en JavaScript similaire à la fonction range() de PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-14 21:24:13324parcourir

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

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn