En el post de hoy te enseñaré a obtener un elemento aleatorio de un array o arreglo de JavaScript. Básicamente vamos a elegir una muestra al azar de nuestro arreglo.
Verás que es muy simple.
Lo único que tenemos que hacer para elegir un elemento al azar en JS es calcular un índice aleatorio. En JavaScript existe la función Math.random
que devuelve un número entre 0 y 1, incluyendo al 0 y al 1.
Entonces esta función nos puede dar un 0.1
, 0.123123128389213892189321
, 0.999123
, etcétera.
Y si multiplicamos ese número por la longitud del arreglo vamos a obtener índices que están en el rango de 0 y la longitud del arreglo.
Finalmente debemos redondear el resultado obtenido, pues el mismo será flotante y nosotros necesitamos un entero. Así que redondeamos con Math.floor.
Con todo esto vamos a obtener un elemento aleatorio en JavaScript. Ahora veamos el código.
Para obtener el índice aleatorio usamos lo siguiente:
Math.floor(Math.random() * arreglo.length
Con length
obtenemos la longitud del arreglo. Y la variable arreglo
es nuestro array de JS. El código completo queda así:
const nombres = ["Luis", "Chris", "Link", "María", "Maggie", "Grim"];
const aleatorio = nombres[Math.floor(Math.random() * nombres.length)];
console.log("El arreglo es: ");
console.log(nombres);
console.log("Y un aleatorio es: ");
console.log(aleatorio);
Al ejecutarlo, elige varios elementos aleatorios:
Si te gusta este lenguaje te invito a leer más sobre JavaScript en mi blog.
En este post te enseñaré a imprimir la letra ñ en una impresora térmica. Voy…
En este post te quiero compartir mi experiencia tramitando un acta de nacimiento de México…
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Esta web usa cookies.
Ver comentarios
Muchas gracias, me sirvió altiro.
Genio!! Gracias por explicarlo tan bien!