我有一個數組稱爲答案,它的長度是20.所以Math.floor(Math.random() * answers.length);
等於Math.floor(Math.random() * 20);
我想隨機選擇任何ONE數組中的這20個條目,這意味着我想要1,2,3 ,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20是可能選擇的數字;所以每個條目都可以選擇。這是否意味着我應該使用Math.floor(Math.random() * answers.length) + 1;
?最終,我的問題是詢問如果我添加「+ 1」是否有效。 例如:https://jsfiddle.net/Henry7720/v96Lj4aw/(不含1)https://jsfiddle.net/Henry7720/v96Lj4aw/1/(帶1)如何使用answers.length從數組中選擇任何一個條目?
0
A
回答
2
若要將Math.random()
轉換爲一定範圍內的整數,您可以使用Math.floor(Math.random() * (max - min) + min)
。請注意,這將挑選任何數字,即至少min
但小於max
。因爲min
爲0,可以只取這些值的,所以從陣列得到的值,使用:
var item = array[Math.floor(Math.random() * array.length)];
編輯:另外,加入一種會簡單地通過一個偏移的索引。這意味着它永遠不會選擇值0
,並且在array.length
中有一個值選擇超出數組邊界的值,返回undefined
。
+0
我在這裏使用了你的解決方案:http://henrysprojects.x10host.com/8-ball/array.php – Henry7720
1
您給出的例子實際上是忽略了數組中的值。使用類似於下面的東西會讓你選擇一個隨機值,無論值裏面:
[2, 4, 6, 8]
["Matt", "Daniel", "Steve"]
等:
var randomAnswer = answers[Math.floor(Math.random() * answers.length)]
然後,它會爲answer
數組一樣工作。
0
您可以使用此功能。 只需提供函數調用的最小值和最大值,函數將返回您提供的參數範圍內的隨機值。
function rng(min,max) {
var rng = Math.round(min - 0.5 + Math.random() * (max - min + 1));
return rng;
}
answers[rng(0,answers.length -1)];
相關問題
- 1. 如何使用jquery在組合框中選擇一個條目?
- 2. 如何使用jQuery從數組中選擇單個項目?
- 3. 如何從數組中選擇一個隨機項目?
- 4. 如何從行號中選擇一個條目
- 5. 如何使用任意數據爲android中的R類選擇一個數組?
- 6. 如何使用SQLite每5分鐘選擇一個條目
- 7. 如何使用Linq中的索引數組從數組中選擇項目?
- 8. 如何從兩個條件的子文檔數組中選擇一個元素?
- 9. 如何選擇,從一組
- 10. 如何使用LINQ從數據庫中選擇多個項目
- 11. 如何使用underscorejs從數組中選擇多個屬性?
- 12. 如何使用ABPeoplePickerNavigationController在地址簿中選擇多個條目
- 13. 如何連接到一個數據庫從組合框選擇任何值
- 14. 如何在PHP中隨機選擇數組條目?
- 15. 如何使用numpy數組索引從2D數組中選擇2列以從中選擇唯一值?
- 16. 在couchbase中,我如何從數組鍵中選擇一個值?
- 17. 如何從TestComplete中的數組中選擇一個隨機值?
- 18. 如何從兩個類中選擇一個條件在C++中?
- 19. 選擇一個條目sql
- 20. 如何從DL列表中選擇任何一個元素
- 21. 如何隨機選擇一個數組?
- 22. 如何從2sxc數據流中選擇一個隨機項目?
- 23. 如何從選擇框中選擇一個或多個項目時創建條件參數?
- 24. iPhone - 如何從一組UILabels中選擇?
- 25. 如何從組中選擇第一條記錄?
- 26. 使用php,如何從數組中選擇一個間隔的項目給他們一個額外的類
- 27. 從mysql中選擇數據時如何避免重複條目?
- 28. 如何從數組中選擇一個隨機元素
- 29. 如何從400中選擇一個數組?
- 30. 如何從數組中隨機選擇一個字符串
@Am_I_Helpful這是JavaScript,而不是Java。 Java有這樣做的不同方式,所以這不是重複的。 – tupperkion
@tupperkion - 當我評論時,問題中沒有javascript標記,因此我將它作爲java使用,因爲Java也具有相同名稱的方法! –
@Am_I_Helpful哦,好的,理解。 – tupperkion