Cómo generar un rango (números/letras) en JavaScript

Este artículo le mostrará cómo generar un rango de números o letras en JavaScript y le brindará algunas funciones que puede copiar y pegar en su propio proyecto.

Python, PHP y muchos otros lenguajes de programación populares proporcionan un rango() función, para generar un rango de números o letras entre dos valores.

JavaScript no tiene una función incorporada para hacer esto, pero es una funcionalidad fácil de implementar usted mismo.

Aquí se explica cómo hacerlo y algunas funciones prefabricadas que puede pegar en su propio proyecto para usar de inmediato.

Funciones JavaScript para copiar y pegar

Generando un Rango de Números

Hay muchas formas inteligentes de generar rangos, a menudo reduciendo la cantidad de código a una sola línea.

Este artículo no los cubrirá:son difíciles de leer y de entender para los recién llegados. Me limitaré a los bucles simples que muestran claramente lo que sucede en el código.

A continuación, verá cómo se puede generar un rango de números. Esta función acepta tres parámetros: iniciodetenerpaso . El intervalo comenzará en inicio , termina en parada y los números en el rango se incrementarán por paso .

function range(start, stop, step) {
    var result = [start];
    var next = start;
    while (next < stop) {
        result.push(next += step || 1);
    }
    return result;
}

¿Como funciona esto? El resultado matriz se inicializa para contener el primer número en el rango (inicio ), y luego cada valor secuencial se agrega al resultado matriz usando un bucle while que incrementa cada valor subsiguiente por paso .

Generando un Rango de Letras

¡Tenga en cuenta que esta función se basa en la función anterior para generar un rango de números!

Esta función hará lo mismo, pero para las letras del alfabeto inglés. Se ajustará, por lo que si el rango supera los 26 números, se ajustará y repetirá las letras desde el principio del alfabeto hasta alcanzar el número requerido de elementos en el rango.

function alphaRange(start, stop, step){
    //Assume starting at 0
    var alphabet = 'abcdefghijklmnopqrstuvwxyz';
    var numRange = range(start, stop, step);
    var result = numRange.map(el => {
        return alphabet[el % 26];
    });
    return result;
}

¿Como funciona esto? Primero, se genera un rango de números. Luego se usa el método array.map() para iterar sobre esta matriz de números y encontrar el valor correspondiente en el alfabeto. El operador % (resto) se usa de modo que si el rango incluye números mayores que 26 (el número de letras del alfabeto), el resto se usará para que la función se ajuste al alfabeto.

Bibliotecas auxiliares

También podría usar una biblioteca de ayuda como lodash en su proyecto, que proporciona su propia función para generar rangos.