Maison > interface Web > js tutoriel > JavaScript offre-t-il une fonction de plage intégrée comme « range() » de PHP ?

JavaScript offre-t-il une fonction de plage intégrée comme « range() » de PHP ?

DDD
Libérer: 2024-12-09 19:46:15
original
278 Les gens l'ont consulté

Does JavaScript Offer a Built-in Range Function Like PHP's `range()`?

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]
Copier après la connexion

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"
Copier après la connexion

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"
Copier après la connexion

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)))
}
Copier après la connexion

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]
Copier après la connexion

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]
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal