Numeri casuali in JavaScript
I numeri casuali hanno tutti i tipi di usi, dal divertimento al pratico. La maggior parte dei giochi prevede una sorta di casualità sotto forma di cose come dadi o carte mescolate. Se vuoi visualizzare un preventivo casuale quando qualcuno visita la tua pagina, hai bisogno di una fonte di casualità. I numeri casuali non sono tutti divertenti e giochi, i numeri casuali vengono utilizzati nella crittografia, per campionamenti casuali, per la modellazione e per mettere le cose in ordine casuale (come i candidati a scrutinio). Alcuni di questi usi non usano direttamente i numeri , ma puoi convertire da numeri casuali a cose casuali inserendo le cose che vuoi scegliere in righe e selezionando casualmente una riga. Nella programmazione, gli array funzionano bene per questo. I numeri casuali non sono sempre veramente casuali. Se tiri un set di dadi equi, otterrai numeri casuali, tuttavia i metodi che i computer usano per scegliere i numeri casuali sono spesso numeri pseudo-casuali, il che significa che sembrano essere casuali in superficie ma in realtà sono prevedibili o un serie ripetute. Per alcune cose, questa non è una differenza importante. Se stai visualizzando un preventivo o uno scherzo casuali ogni volta che qualcuno carica la tua pagina web, probabilmente non importa che qualcuno possa prevedere quando verrà visualizzato un preventivo specifico e puoi tranquillamente utilizzare numeri pseudo-casuali (in tal caso, probabilmente mostra le tue citazioni nell'ordine in cui ti è capitato di scriverle.) Se stai provando a fare test casuali sui farmaci degli atleti del Tour de France, è fondamentale che gli atleti non siano in grado di prevedere quando o se saranno testati.

L'oggetto Math JavaScript include un metodo che fornisce numeri pseudo-casuali. A differenza di molti altri linguaggi di programmazione, JavaScript non consente di eseguire il seeding del generatore di numeri con la propria fonte di casualità. Le diverse implementazioni differiscono nella misura in cui i numeri forniti sono quasi casuali, ma in generale dovrebbero essere abbastanza buoni da essere utilizzati per scopi artistici o divertenti, ma se hai bisogno di numeri casuali per scopi giuridicamente regolamentati o di sicurezza, dovresti trovare una fonte migliore di casualità. Il Math.random () Il metodo restituisce un numero casuale compreso tra 0 o tra 0 e 1. Alcune versioni del browser Opera hanno una conformità non standard Math.random () metodo che restituirà molto raramente 1. Devi in ​​qualche modo gestire questo risultato inaspettato - il suggerimento più semplice che ho visto è di usare l'operatore modulo con uno contro il valore restituito da Math.random (), questo restituirà il valore originale se il numero casuale è compreso nell'intervallo definito e 0 se si ottiene un 1. Inoltre, trovo che non ho bisogno di un decimale casuale inferiore a uno, ma piuttosto di un numero intero casuale. Per ottenere un numero intero casuale, moltiplichi il valore da Math.random () dal numero di potenziali numeri casuali desiderati (X) e dalla ricerca del numero intero precedente o successivo. L'oggetto matematico fornisce metodi di pavimento e soffitto che è possibile utilizzare per questo scopo. Se si utilizza il Math.floor () metodo, otterrai un numero compreso tra 0 e (X-1). Se si utilizza il math.ceiling () metodo otterrai un numero intero compreso tra 1 e X.

Per trovare un numero casuale compreso tra 0 e (X-1), utilizzare:

Math.floor ((Math.random ()% 1) * X)

Questi sono particolarmente utili per trovare un elemento di array casuale.

Per trovare un numero casuale compreso tra 1 e X, utilizzare:

Math.ceiling ((Math.random ()% 1) * X)

Compiti come questo che sono abbastanza comuni ma richiedono un bel po 'di digitazione sono buoni candidati per essere trasformati in una funzione.

Per una discussione sulla differenza tra numeri veramente casuali e numeri pseudo-casuali che stiamo usando qui, una fonte di numeri veramente casuali e alcuni esempi di cose divertenti che puoi fare con numeri casuali o pseudo-casuali dai un'occhiata a www.random. org

Istruzioni Video: Corso JavaScript - Operatori e numeri casuali (random) (Aprile 2024).