Maison >interface Web >js tutoriel >JavaScript offre-t-il une fonction de plage intégrée comme « range() » de PHP ?
JavaScript a-t-il une fonction de plage intégrée comme "range()" de PHP ?
En PHP, la fonction range() est utilisé pour générer un tableau de valeurs dans une plage spécifiée, numérique ou alphanumérique. Cependant, JavaScript ne fournit pas de fonction native similaire. Cet article explique comment implémenter une telle fonctionnalité en JavaScript.
Plages numériques
Pour générer une plage de nombres, vous pouvez utiliser Array.from() et Array. méthodes key() combinées :
[...Array(5).keys()]; // [0, 1, 2, 3, 4]
Cela crée un tableau contenant des valeurs d'index de 0 à 4, représentant le nombre numérique souhaité range.
Plages de caractères
Pour les plages de caractères, vous pouvez utiliser la méthode String.fromCharCode() avec la méthode charCodeAt() pour convertir les codes de caractères en caractères :
String.fromCharCode(...[...Array('D'.charCodeAt(0) - 'A'.charCodeAt(0) + 1).keys()].map(i => i + 'A'.charCodeAt(0))); // "ABCD"
Itération
Vous pouvez également utiliser une boucle for pour itérer sur une plage de valeurs :
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
Pour résumer le processus de génération de plage, vous pouvez créer des fonctions personnalisées :
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))) }
Lodash.js
Si vous utilisez la bibliothèque Lodash, vous pouvez utiliser sa fonction _.range() à cet effet :
_.range(10); // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Compatibilité avec les navigateurs non ES6
Dans les navigateurs plus anciens sans support ES6, vous pouvez utiliser cette alternative :
Array.apply(null, Array(5)).map(function (_, i) {return i;}); // [0, 1, 2, 3, 4]
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!