Metoda 1: Element losowy z tablicy za pomocą matematyki.Random () i matematyka.podłoga()
Najpierw utwórz tablicę z następującym wierszem:
my_arr = [„Paris”, „London”, „Bangkok”, „New York”, „Los Angeles”, „Dubai”];
Ta tablica reprezentuje listę miast do wyboru losowo. Następnie po prostu utwórz nową funkcję, która przyjmuje tablicę jako parametr takiego:
funkcja ELEMENET_SELECTER (ARR)
W ramach tej funkcji pierwszą rzeczą jest przekazanie długości tablicy w oddzielnej zmiennej:
array_length = arr.długość;
Następnie po prostu zadzwoń do matematyki.Metoda landom () w celu uzyskania wartości zmiennoprzecinkowej, a następnie pomnożenia tej liczby z długością tablicy, aby uzyskać zakres między 0 a długością tablicy:
wartość = matematyka.Random () * array_length;
Ta linia zwróci wartości zmiennoprzecinkowe, ale nie są one dobre, jeśli chodzi o bycie indeksem tablicy. Potwierdź to, po prostu owijając tę linię w dziennik konsoli i obserwując dane wyjściowe:
konsola.Log (wartość)
Wyjście na terminalu jest jako:
Aby zmienić te wartości na liczbę całkowitą, po prostu przejdź wartość zmienna w matematyce.metoda floor () i usuń konsolę.Linia log (wartość):
indexValue = matematyka.podłoga (wartość)
Na końcu funkcji użyj instrukcji powrotu i zwróć element w Wartość indeksu tablicy:
return ARR [indexValue];
Następnie wyjdź z funkcji element_selector, i zadzwoń do tej funkcji i owinąć to połączenie wewnątrz funkcji dziennika konsoli, aby wydrukować losowo wybrany element:
konsola.log (ELEMENET_SELECTER (MY_ARR));
Kompletny fragment kodu jest jako:
my_arr = [„Paris”, „London”, „Bangkok”, „New York”, „Los Angeles”, „Dubai”];
funkcja ELEMENET_SELECTER (ARR)
array_length = arr.długość;
wartość = matematyka.Random () * array_length;
indexValue = matematyka.podłoga (wartość);
return ARR [indexValue];
konsola.log (ELEMENET_SELECTER (MY_ARR));
Wykonaj ten program i obserwuj następujący wynik:
Z wyjścia jasno wynika, że losowe elementy są wybierane z tablicy.
Metoda 2: Używanie podwójnego operatora nie bitowskiego
Zacznij od utworzenia tablicy tak jak w Method 1 za pomocą następującego wiersza:
my_arr = [„Paris”, „London”, „Bangkok”, „New York”, „Los Angeles”, „Dubai”];
Następnie zadzwoń do matematyki.Random () i wielokrotne z długością naszej tablicy, aby uzyskać zakres od 0 do długości:
wartość = matematyka.Random () * my_arr.długość;
Tym razem, aby przekonwertować tę wartość na liczbę całkowitą reprezentującą wskaźnik tablicy, po prostu zastosuj operator podwójnego nie bitowskiego, który jest podwójnym operatorem Tilde (~~), i pobrać wartość z tablicy jako:
var item = my_arr [~~ wartość];
Wreszcie, po prostu wydrukuj losowo wybrany element na terminalu za pomocą funkcji dziennika konsoli:
konsola.log (pozycja);
Kompletny fragment kodu dla metody 2 to:
my_arr = [„Paris”, „London”, „Bangkok”, „New York”, „Los Angeles”, „Dubai”];
wartość = matematyka.Random () * my_arr.długość;
var item = my_arr [~~ wartość];
konsola.log (pozycja);
Wykonaj ten program i obserwuj następujący wynik:
Z wyjścia jasno wynika, że z tablicy wybierany jest losowy element
Wniosek
W JavaScript możemy wykorzystać Matematyka.losowy() funkcja z albo Matematyka.podłoga() funkcja lub podwójnie nie operator bitowy Aby pobrać losowy element z tablicy. Matematyka.Random (), po pomnożeniu przez długość tablicy, zapewnia wartość zakresu wskaźnika między zero a długością tablicy. Jednak ta wartość zakresu jest w punkcie zmiennoprzecinkowym, dlatego używasz Matematyka.podłoga() Lub Nie operatorzy bitowate Aby przekonwertować go w liczbę całkowitą, która ma być używana jako indeks tablicy. W tym artykule wyjaśniono obie te metody wraz z przykładem