回答
添加一個數字,根據您的標準數組簡單的解決方案:
function addNumberToArray(arr){
const minValue = 1;
const maxValue = 28;
if(arr.length==maxValue*2){ //no possible numbers left
return;
}
function getRandomArbitrary(min, max) {
return Math.floor(Math.random() * (max - min) + min);
}
function isValueInArrayLessThenTwoTimes(value, arr){
var occurrences = 0;
for(var i=0; i<arr.length; i++){
if(arr[i]===value){
occurrences++;
}
}
return occurrences<2;
}
var newValue;
do {
newValue = getRandomArbitrary(minValue,maxValue);
} while(!isValueInArrayLessThenTwoTimes(newValue, arr));
arr.push(newValue);
}
var array = [];
for (var i = 0; i < 28; i++) {
var randomNumberBetween1and28 = Math.floor(Math.random() * (28 - 1) + 1);
while (getCount(array, randomNumberBetween1and28) > 2) {
randomNumberBetween1and28 = Math.floor(Math.random() * (28 - 1) + 1);
}
array.push(randomNumberBetween1and28);
}
function getCount(arr, value) {
var count = 1;
for (var i = 0; i < arr.length; i++) {
if (value == arr[i]) count++;
}
return count;
}
這很好。但是它允許在兩次以上的重複值。 (EX:6,11,7,6,22,19,25,1,3,13,19,26,27,18,7,24,6,25,5,23,27,24,2,1 ,2,2,23,17)。這個例子「6」已經三次返回,但我只需要兩次。 – Vinoth
@ R.vinoth我修改了。你現在可以試試嗎? – VenkyDhana
謝謝@VenkyDhana。它正在工作...... – Vinoth
更短,更快的解決方案:
min=1;
max=28;
nums= new Array();
for(i=1;nums.length<28;i++){
a = Math.round(Math.random()*(max-min+1)+min);
if(nums.indexOf(a)==-1 || nums.indexOf(a)==nums.length-nums.reverse().indexOf(a)-1){
if(nums.indexOf(a)>-1){
nums.reverse();
}
nums.push(a);
}
}
console.log(nums);
- 1. 哪個Java收集允許重複鍵
- 2. java不會重複的隨機值
- 3. 一次只允許在datagridview中的2個重複值C#?
- 4. 允許2個重複的IP地址最大值php csv
- 5. 排序列表,允許重複和元素的隨機存取
- 6. 如何在python中生成隨機顏色時允許重複?
- 7. Java腳本隨機數組函數
- 8. Java隨機數沒有重複
- 9. Java生成非重複的隨機數
- 10. Hashset允許重複?
- 11. HashMap允許重複?
- 12. 腳本隨機執行2個函數中的1個?
- 13. Java HashSet仍然允許重複項
- 14. 2個隨機數組的交集 - Java
- 15. 隨機行爲:重複相同數量
- 16. 的NSMutableArray:如何允許重複的值
- 17. 跨系統和版本的Java僞隨機數的重複性?
- 18. 如何使2個數字重複隨機?
- 19. 只允許檢查2個複選框
- 20. SSIS腳本組件,允許空值
- 21. 不重複的隨機數
- 22. 非重複的隨機數
- 23. 隨機數不重複
- 24. 隨機數字不重複
- 25. 隨機數字與重複
- 26. 重複的隨機數
- 27. 隨機數組重複
- 28. 哪個Java Web框架允許跨域Java腳本(http代理)?
- 29. 腳本中的隨機數
- 30. Django Tastypie:允許隨機作爲一個訂單的選項
多少隨機你需要在數組中創建的數字? – VenkyDhana
你有沒有嘗試過或者你只是想讓別人爲你寫代碼?只是提示:第1步:查找如何在一個範圍內生成一個隨機數:https://stackoverflow.com/questions/1527803/generating-random-whole-numbers-in-javascript-in-a-specific-range ;步驟2:將先前生成的數字存儲在數組中,並在每次添加之前檢查兩次。 –
我需要在數組中創建28個隨機數 – Vinoth