Metode 1: Tilfeldig element fra en matrise ved bruk av matematikk.tilfeldig () og matematikk.gulv()
Først må du lage en matrise med følgende linje:
my_arr = ["Paris", "London", "Bangkok", "New York", "Los Angeles", "Dubai"];
Denne matrisen representerer en liste over byer å velge mellom tilfeldig. Etter dette, bare opprette en ny funksjon som tar inn matrisen som en parameter som:
funksjon Elemenet_Selector (arr)
Innenfor denne funksjonen er det aller første å få lengden på matrisen ført til den i en egen variabel:
array_length = arr.lengde;
Så ring bare matematikken.Tilfeldig () -metode for å få en flytende punktverdi og deretter multiplisere det tallet med lengden på matrisen for å få rekkevidden mellom 0 og array-lengden:
verdi = matematikk.tilfeldig () * array_length;
Denne linjen vil returnere flytende punktverdier, men de er ikke bra når det gjelder å være indeksen for en matrise. Bekreft dette ved å bare pakke denne linjen inn i konsollloggen og observere utgangen:
konsoll.logg (verdi)
Utgangen på terminalen er som:
For å endre disse verdiene til et heltall, bare passere verdi variabel i matematikken.gulv () -metode og fjern konsollen.logg (verdi) linje:
IndexValue = Matematikk.gulv (verdi)
På slutten av funksjonen, bruk en returerklæring og returner elementet på IndexValue av matrisen:
return arr [indexValue];
Etter det, kom ut av funksjonen Element_Selector, og ring til denne funksjonen og pakk inn den samtalen i en konsollloggfunksjon for å skrive ut det tilfeldig valgte elementet:
konsoll.Log (Elemenet_Selector (my_arr));
Det komplette kodebiten er som:
my_arr = ["Paris", "London", "Bangkok", "New York", "Los Angeles", "Dubai"];
funksjon Elemenet_Selector (arr)
array_length = arr.lengde;
verdi = matematikk.tilfeldig () * array_length;
IndexValue = Matematikk.gulv (verdi);
return arr [indexValue];
konsoll.Log (Elemenet_Selector (my_arr));
Utfør dette programmet og observer følgende resultat:
Det fremgår av utgangen at tilfeldige elementer er valgt fra matrisen.
Metode 2: Bruker dobbelt ikke bitvis operatør
Begynn med å lage en matrise akkurat som i metode 1 ved hjelp av følgende linje:
my_arr = ["Paris", "London", "Bangkok", "New York", "Los Angeles", "Dubai"];
Etterpå, ring matematikk.Tilfeldig () og flere det med lengden på vår matrise for å få et område fra 0 til lengden:
verdi = matematikk.tilfeldig () * my_arr.lengde;
Denne gangen, for å konvertere denne verdien til et heltall som representerer indeksen for matrisen, kan du bare bruke dobbelt ikke -bitvis operatør, som er dobbel tilde -operatør (~~), og hente verdien fra matrisen som:
var item = my_arr [~ ~ verdi];
Sist, bare skriv ut det tilfeldig valgte elementet på terminalen ved hjelp av konsollloggfunksjon:
konsoll.logg (element);
Komplett kodebit for metode 2 er som:
my_arr = ["Paris", "London", "Bangkok", "New York", "Los Angeles", "Dubai"];
verdi = matematikk.tilfeldig () * my_arr.lengde;
var item = my_arr [~ ~ verdi];
konsoll.logg (element);
Utfør dette programmet og observer følgende resultat:
Det fremgår av utgangen at et tilfeldig element blir valgt fra matrisen
Konklusjon
I JavaScript kan vi bruke Matte.tilfeldig() funksjon med en av dem Matte.gulv() funksjon eller Dobbelt ikke bitvis operatør å hente et tilfeldig element fra en matrise. Matte.Tilfeldig (), når multiplisert med lengden på matrisen, gir en rekkeviddeverdi på indeksen mellom null og matrisens lengde. Imidlertid er denne områdeverdien i flytende punkt Matte.gulv() eller Ikke bitvis operatører For å konvertere det til et heltall som skal brukes som matriseindeksen. Denne artikkelen har forklart begge disse metodene sammen med et eksempel