Ich habe ein Array, das sequentielle Array-Schlüssel hat und ich muss zufällig einen der Schlüssel auswählen ... Was ist der beste Weg, das zu tun?Nach dem Zufallsprinzip JavaScript-Array-Schlüssel
Antwort
Math.random() wird eine Zahl zwischen 0 und 1.
var key = Math.floor(Math.random() * arr.length);
Nur mit Hilfe der Array-Länge führen in nie wirklich die Auswahl das letzte Element einen Blick erzeugen im Array, außer in der extrem seltenen Situation, wenn die gewählte Zufallszahl 1,0000 ist. Bessere 0,99999 zum arr.length hinzuzufügen:
var key = Math.floor(Math.random() * (arr.length + .999999))
Dies hat das Potenzial, eine Zahl größer als der letzte Index zurückzugeben. – Kelly
Math.random() Gibt eine Zahl zwischen 0 und 1 (NIEMALS 1). Geschrieben als [0, 1). Auch das Hinzufügen von 0.9999999 zu der Array-Länge verursacht einen möglichen Fehler außerhalb der Grenzen. Schau dir die gewählte Antwort an –
- 1. Nach dem Zufallsprinzip Element
- 2. Aggregat nach dem Zufallsprinzip?
- 3. MIPS Drucknummer nach dem Zufallsprinzip
- 4. Nach dem Zufallsprinzip angezeigt Strings
- 5. Spawn Knoten nach dem Zufallsprinzip
- 6. SoapUI Endpunkt Fehler nach dem Zufallsprinzip
- 7. Javascript setInterval wird nach dem Zufallsprinzip gestoppt
- 8. SqlDataReader ist Tropfen Spalten nach dem Zufallsprinzip!
- 9. Log4net beendet die Protokollierung nach dem Zufallsprinzip.
- 10. SSIS 2012 Paket hängt nach dem Zufallsprinzip
- 11. Nach dem Zufallsprinzip Platz Svg Polygone
- 12. PHP-Schleife inkrementell nach dem Zufallsprinzip?
- 13. Gurke + Selen scheitert nach dem Zufallsprinzip
- 14. Paypal Payments Pro - nach dem Zufallsprinzip
- 15. Einen Ball nach dem Zufallsprinzip bewegen
- 16. Update-Skript stoppt nach dem Zufallsprinzip
- 17. str.split() schlägt nach dem Zufallsprinzip fehl? zufällig
- 18. Gurke, Capybara & Selen funktioniert nach dem Zufallsprinzip
- 19. Verschiedene Knoten nach dem Zufallsprinzip erzeugen
- 20. Laravel Sitzung läuft nach dem Zufallsprinzip
- 21. Sequenz Js Autoplay stoppt nach dem Zufallsprinzip
- 22. AngularJS Körperfunktion nach dem Zufallsprinzip gehen
- 23. Spotify Audio Player stoppt nach dem Zufallsprinzip nach einigen Sekunden
- 24. NodeJS-Socket-IO-Stop-emittiert nach dem Zufallsprinzip?
- 25. IIS gehostet Web-Service-Methode Anruf nach dem Zufallsprinzip stirbt
- 26. Nach dem Zufallsprinzip das Symbol basierend auf der Auswahl
- 27. Verstehen, warum meine Rails 4 App nach dem Zufallsprinzip läuft
- 28. bestimmte Anzahl nach dem Zufallsprinzip in Array in Matlab
- 29. mySQL nach dem Zufallsprinzip Spalte Daten aus vorhandenen Daten aktualisieren
- 30. Nach dem Zufallsprinzip Wörter aus Multi-Dimension-Array
@ DenisGorbachev Aussage falsch ist. Math.random() gibt 0 einschließlich zu 1 exklusiv zurück, also nie 1,00. Wenn dies der Fall wäre, wäre der zurückgegebene Index größer als die Array-Länge. – Kelly
Omg, du hast Recht. –