Cómo imprimir el alfabeto con JavaScript

Cómo imprimir el alfabeto con JavaScript

Ya sea que estés haciendo algunos deberes de programación o esté trabajando en algo genuino en tu empresa, como crear un menú que ayude al usuario a buscar contenido alfabéticamente, escribir manualmente todo el alfabeto tal vez no sea la mejor solución siempre. Hay algunos lenguajes que incluyen tales características, especialmente motores de plantillas como Smarty:

{* Para mostrar la lista de caracteres de la A a la Z *}
{foreach item=i from='A'|@range:'Z'}
    {* 
        $i en este caso contiene el carácter en el orden del bucle
        e.g A, B, C, D ...

        La salida sería:
        <a href="/lexicon/A">A</a>
    *}
    <a href="/lexicon/{$i}">{$i}</a>
{/foreach}

Sin embargo, en JavaScript no existe tal cosa, por lo que tendrá que escribir su propio código para crearlo. En el siguiente artículo, compartiré con ustedes varias formas de generar una cadena con el alfabeto en JavaScript.

A. La manera más corta

Sin duda, la forma más rápida, corta y sencilla de obtener el alfabeto en JavaScript es codificarlo en una variable como esta:

let alphabet = 'abcdefghijklmnopqrstuvwxyz';

Declarar el alfabeto haciendo esto le obligará a escribir 44 caracteres en su código. Lo sé, mencioné que a veces nos da pereza escribirlo donde lo necesitamos, pero bueno, ¡siempre puedes buscar esta publicación y copiarla desde aquí!

B. Iterar con un bucle for de 10 a 35 y conviértelo en cadena de texto usando 36 como base

El método JavaScript toString devuelve una cadena que representa el objeto Number especificado. Recibe como primer argumento un número entero en el rango de 2 a 36 que especifica la base a utilizar para representar valores numéricos. En este caso, iterando de 10 a 35, convirtiendo cada número en una cadena usando 36 como base, devolverá el carácter del alfabeto que concatenaremos en una cadena:

let alphabet;

for(i=9,alphabet='';++i<36;){
    alphabet += i.toString(36);
}

// abcdefghijklmnopqrstuvwxyz
console.log(alphabet);

Es un poco más largo, declarar que el alfabeto hace esto te obligará a escribir 79 caracteres en tu código. Esta lógica se utilizará en las otras implementaciones.

C. Mapee una matriz numérica con el operador de extensión de 10 a 35 y conviértala en una cadena usando 36 como base

La siguiente implementación se puede realizar en una sola línea. Básicamente, itera sobre una matriz vacía con 26 elementos, ejecuta la lógica de la función convirtiendo cada número de 10 a 35 en una cadena usando 36 como base, y lo agrega a la matriz, para finalmente unir los elementos de la matriz en una sola cuerda:

let alphabet = [...Array(26)].map(_=>(++i).toString(36),i=9).join``;

Declarar el alfabeto haciendo esto le obligará a escribir 68 caracteres en su código.

D. Usando String.fromCharCode

Esta implementación utiliza el método fromCharCode de la clase String en JavaScript, básicamente devuelve una cadena creada a partir de la secuencia especificada de unidades de código UTF-16:

let alphabet = String.fromCharCode(...Array(123).keys()).slice(97);

La referencia HTML ASCII especifica que el alfabeto en minúsculas lo encuentra entre 97 (a) y 122 (z), la lógica creará una matriz con 123 elementos (de 0 a 122):

// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
console.log(...Array(123).keys());

Se convertirán a su representación de cadena utilizando fromCharCode, que generaría el siguiente texto:


 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz"

Puedes ver el alfabeto al final de la cadena, ¿verdad? Finalmente, se extrae el alfabeto utilizando slice, eliminando todos los caracteres anteriores al # 97.

Que te diviertas ❤️!

Esto podria interesarte

Conviertete en un programador más sociable