Επεξήγηση της μεθόδου JavaScript Math.random ()

Τυχαία μέθοδος

Η Math.random()μέθοδος JavaScript είναι μια εξαιρετική ενσωματωμένη μέθοδος για την παραγωγή τυχαίων αριθμών. Όταν Math.random()εκτελείται, επιστρέφει έναν τυχαίο αριθμό που μπορεί να είναι οπουδήποτε μεταξύ 0 και 1. Το 0 περιλαμβάνεται και το 1 αποκλείεται.

Δημιουργία τυχαίου αριθμού κυμαινόμενου σημείου μεταξύ 0 και 1

Η Math.random()μέθοδος θα επιστρέψει έναν αριθμό κυμαινόμενου σημείου (δεκαδικό) μεγαλύτερο ή ίσο με 0 και μικρότερο από (αλλά ποτέ ίσο με) 1. Με άλλα λόγια 0 <= x < 1. Για παράδειγμα:

console.log(Math.random()); // 0.7069207248635578 console.log(Math.random()); // 0.765046694794209 console.log(Math.random()); // 0.14069121642698246

(Φυσικά, οι αριθμοί που επιστρέφονται θα είναι διαφορετικοί κάθε φορά. Αυτό θα υποτεθεί για όλα τα ακόλουθα παραδείγματα - διαφορετικά αποτελέσματα θα συμβούν σε κάθε πάσο.)

Για να λάβετε έναν τυχαίο αριθμό μεταξύ ενός μεγαλύτερου εύρους πολλαπλασιάστε το αποτέλεσμα Math.random()με έναν αριθμό.

Δημιουργία τυχαίου αριθμού κυμαινόμενου σημείου μεταξύ 0 και καθορισμένου μέγ

Συνήθως δεν χρειάζεστε τυχαίους αριθμούς μεταξύ 0 και 1 - χρειάζεστε μεγαλύτερους αριθμούς ή ακόμη και ακέραιους αριθμούς.

Για παράδειγμα, εάν θέλετε έναν τυχαίο αριθμό κυμαινόμενου σημείου μεταξύ 0 και 10, μπορείτε να χρησιμοποιήσετε:

var x = Math.random()*10; console.log(x); // 4.133793901445541

Δημιουργία τυχαίου αριθμού κυμαινόμενου σημείου εντός εύρους

Εάν χρειάζεστε έναν τυχαίο αριθμό κυμαινόμενου σημείου που κυμαίνεται μεταξύ δύο συγκεκριμένων αριθμών, θα μπορούσατε να κάνετε κάτι τέτοιο:

var min = 83.1; var max = 193.36; var x = Math.random()*(max - min)+min; console.log(x); // 126.94014012699063

Δημιουργία τυχαίου ακέραιου αριθμού μεταξύ 0 και μέγ

Συχνά χρειάζεστε ακέραιους αριθμούς. Για να το κάνετε αυτό θα πρέπει να χρησιμοποιήσετε κάποιες άλλες μεθόδους από το Mathαντικείμενο, Math.floor()(στρογγυλοποίηση προς τον πλησιέστερο ακέραιο) και Math.ceil()(στρογγυλοποίηση προς τον πλησιέστερο ακέραιο).

Για παράδειγμα, εάν πρέπει να επιλέξετε τυχαία από έναν πίνακα 10 στοιχείων, θα χρειαστείτε έναν τυχαίο αριθμό μεταξύ 0 και 9 συμπεριλαμβανομένου (θυμηθείτε ότι οι πίνακες είναι μηδενικοί.

var x = Math.floor(Math.random()*10); console.log(x); // 7

(Να θυμάστε ότι Math.random()δεν θα επιστρέψει ποτέ ακριβώς 1, οπότε Math.random()*10δεν θα επιστρέψει ποτέ ακριβώς 10. Αυτό σημαίνει ότι μετά από στρογγυλοποίηση προς τα κάτω, το αποτέλεσμα θα είναι πάντα 9 ή λιγότερο.)

Δημιουργία τυχαίου ακέραιου αριθμού μεταξύ 1 και μέγ

Εάν χρειάζεστε έναν τυχαίο αριθμό με τον ελάχιστο αριθμό να είναι 1 (για παράδειγμα μια τυχαία ημέρα τον Ιανουάριο) θα μπορούσατε να χρησιμοποιήσετε τη Math.ceil()μέθοδο.

var x = Math.ceil(Math.random()*31); console.log(x); // 23

Ένας άλλος τρόπος θα ήταν να χρησιμοποιήσετε την προηγούμενη συνάρτηση (χρησιμοποιώντας Math.floor()) και να προσθέσετε 1 σε αυτήν:

var x = Math.floor(Math.random()*31)+1; console.log(x); // 17

Δημιουργία τυχαίου ακέραιου αριθμού εντός εύρους

Τέλος, περιστασιακά χρειάζεστε έναν τυχαίο ακέραιο μεταξύ δύο συγκεκριμένων ακέραιων αριθμών. Για παράδειγμα, εάν προσπαθείτε να επιλέξετε εισιτήρια λοταρίας και γνωρίζετε τους αριθμούς του χαμηλότερου και μεγαλύτερου αριθμού:

var min = 1718; var max = 3429; var x = Math.floor(Math.random()*(max-min+1)+min); console.log(x); //2509

Πόσο τυχαίο είναι το Math.random ();

Μπορεί να επισημανθεί ότι ο αριθμός που επιστρέφεται Math.random()είναι ψευδο-τυχαίος αριθμός, καθώς κανένας υπολογιστής δεν μπορεί να δημιουργήσει έναν πραγματικά τυχαίο αριθμό, ο οποίος εμφανίζει τυχαιότητα σε όλες τις κλίμακες και σε όλα τα μεγέθη συνόλων δεδομένων. Ωστόσο, ο ψευδο-τυχαίος αριθμός που δημιουργείται Math.random()είναι συνήθως επαρκής για τις ανάγκες σχεδόν οποιουδήποτε προγράμματος μπορεί να γράψετε. Η μη-πραγματικά-τυχαιότητα γίνεται εμφανής μόνο σε αστρονομικά μεγάλα σύνολα αριθμών ή όταν απαιτούνται ασυνήθιστα ακριβή δεκαδικά.