回答
添加一个数字,根据您的标准数组简单的解决方案:
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