Chcę skrypt javascript, który wybiera losowo wartość 1 lub wartość2, a nie między dwie wartości, tylko rzeczywiste wartości.Jak wybrać między dwoma liczbami losowo za pomocą javascript?
Dzięki!
Chcę skrypt javascript, który wybiera losowo wartość 1 lub wartość2, a nie między dwie wartości, tylko rzeczywiste wartości.Jak wybrać między dwoma liczbami losowo za pomocą javascript?
Dzięki!
Funkcja Math.random
[MDN] wybiera losową wartość z przedziału [0, 1)
. Możesz skorzystać z tej opcji, aby wybrać wartość losowo.
var chosenValue = Math.random() < 0.5 ? value1 : value2;
Math.round(Math.random())
zwraca 0 lub 1, każda wartość tylko o połowę mniej czasu.
Można go używać jak prawda czy fałsz „głowy” lub „ogony” lub jako tablica 2 członkiem indeksowanych
['true','false'][Math.round(Math.random())]
powróci „prawda” lub „fałsz” ...
parseInt(Math.random() * 2) ? true : false;
Zazwyczaj dobrze jest dodać informacje kontekstowe wyjaśniające kod w celu uzyskania odpowiedzi –
~~(Math.random()*2) ? true : false
Powoduje to albo 0, albo 1. "~~" jest dwu-bitowym operatorem NOT. Zasadniczo usuwa część dziesiętną. Przydatne czasami.
It is supposed to be faster then Math.floor()
Nie wiem, jak szybko jest jako całość. Złożyłem to tylko dla ciekawości :)
To trochę pedantycznie, ale powinno być '<' or '> ='. W przeciwnym razie "wartość1" będzie nieco bardziej prawdopodobna. Dzieje się tak, ponieważ 'random' zwraca liczbę aż do, ale nie włączając' 1.0'. – Jacob
@Jacob Próbowałem dowiedzieć się, który operator porównania użyć; dzięki. Naprawiono to teraz. –