Comment sélectionner un élément aléatoire dans le tableau dans JavaScript?

Comment sélectionner un élément aléatoire dans le tableau dans JavaScript?

Il existe plusieurs façons d'écrire un programme qui sélectionne un élément aléatoire dans un tableau, mais la méthode la mieux adaptée consiste à utiliser une combinaison de mathématiques.aléatoire () et mathématiques.Méthodes de plancher (). Mathématiques.La méthode aléatoire () fournit à l'utilisateur une valeur aléatoire à virgule flottante entre 0 et 1. Alors que les mathématiques.La méthode de plancher () prend simplement une valeur à virgule flottante et arrond la valeur pour en faire un entier.

Méthode 1: élément aléatoire d'un tableau à l'aide de mathématiques.Random () & Math.sol()

Tout d'abord, créez un tableau avec la ligne suivante:

my_arr = ["Paris", "Londres", "Bangkok", "New York", "Los Angeles", "Dubaï"];

Ce tableau représente une liste des villes à choisir au hasard. Après cela, créez simplement une nouvelle fonction qui prend le tableau comme un paramètre comme:

fonction elemenet_selector (arr)

Dans cette fonction, la toute première chose est d'obtenir la longueur du tableau qui lui est transmise à l'intérieur d'une variable distincte:

array_length = arr.longueur;

Ensuite, appelez simplement les mathématiques.Random () Méthode pour obtenir une valeur à virgule flottante, puis multipliez ce nombre avec la longueur du tableau pour obtenir la plage entre 0 et la longueur du tableau:

valeur = mathématiques.random () * array_length;

Cette ligne reviendra les valeurs des points flottants, mais ils ne sont pas bons lorsqu'il s'agit d'être l'index d'un tableau. Confirmez-le en enroulant simplement cette ligne dans le journal de la console et en observant la sortie:

console.journal (valeur)

La sortie sur le terminal est comme:

Pour changer ces valeurs en un entier, passez simplement le valeur variable dans les mathématiques.Méthode de plancher () et de retirer la console.Ligne (valeur) Ligne:

indexValue = math.plancher (valeur)

À la fin de la fonction, utilisez une instruction de retour et renvoyez l'élément au indexvalue du tableau:

return arr [indexValue];

Après cela, sortez de la fonction element_selector, et passer un appel à cette fonction et envelopper qui appelle dans une fonction de journal de console pour imprimer l'élément sélectionné au hasard:

console.log (elemenet_selector (my_arr));

L'extrait de code complet est comme:

my_arr = ["Paris", "Londres", "Bangkok", "New York", "Los Angeles", "Dubaï"];
fonction elemenet_selector (arr)
array_length = arr.longueur;
valeur = mathématiques.random () * array_length;
indexValue = math.plancher (valeur);
return arr [indexValue];

console.log (elemenet_selector (my_arr));

Exécutez ce programme et observez le résultat suivant:

Il ressort clairement de la sortie que les éléments aléatoires sont sélectionnés dans le tableau.

Méthode 2: Utilisation de l'opérateur Double Not Bitwise

Commencez par créer un tableau comme dans la méthode 1 à l'aide de la ligne suivante:

my_arr = ["Paris", "Londres", "Bangkok", "New York", "Los Angeles", "Dubaï"];

Ensuite, appelez les mathématiques.Random () et multiple avec la longueur de notre tableau pour obtenir une plage de 0 à la longueur:

valeur = mathématiques.Random () * my_arr.longueur;

Cette fois-ci, pour convertir cette valeur en un entier représentant l'index du tableau, appliquez simplement l'opérateur double pas bitwise, qui est l'opérateur à double tilde (~~), et récupérer la valeur du tableau comme:

var item = my_arr [~~ value];

Enfin, imprimez simplement l'élément sélectionné au hasard sur le terminal à l'aide de la fonction de journal de console:

console.log (item);

Extrait de code complet pour la méthode 2 est:

my_arr = ["Paris", "Londres", "Bangkok", "New York", "Los Angeles", "Dubaï"];
valeur = mathématiques.Random () * my_arr.longueur;
var item = my_arr [~~ value];
console.log (item);

Exécutez ce programme et observez le résultat suivant:

Il ressort clairement de la sortie qu'un élément aléatoire est sélectionné dans le tableau

Conclusion

En javascript, nous pouvons utiliser le Mathématiques.aléatoire() fonction avec le Mathématiques.sol() fonction ou le Double opérateur pas bitwise pour récupérer un élément aléatoire d'un tableau. Mathématiques.Random (), lorsqu'il est multiplié par la longueur du tableau, fournit une valeur de plage d'index entre zéro et la longueur du tableau. Cependant, cette valeur de plage est en point flottante, par conséquent, l'utilisation Mathématiques.sol() ou Pas les opérateurs de bit pour le convertir en un entier pour être utilisé comme index du tableau. Cet article a expliqué ces deux méthodes ainsi qu'un exemple