如何在javascript中随机循环? $rowCount=40; 对于(变量$j=0;$j
我需要一个机制,在这里我可以循环,我将以随机的方式将值应用到如何在javascript中随机循环? $rowCount=40; 对于(变量$j=0;$j,javascript,algorithm,Javascript,Algorithm,我需要一个机制,在这里我可以循环,我将以随机的方式将值应用到currentNum 例如:在循环结束时,currentNum的值应为(0…39)。但是它不应该从0,1,2,3,4,5,6,7,8,…39开始应用 它应该以随机方式应用,如39,4,5,17,28,16….,并且它应该覆盖0-40中的所有数字。我认为这可以在java中使用HashMap实现,但是如何在javascript中实现呢?var numbers=Array(rowCount); $rowCount = 40 ; for (v
currentNum
例如:在循环结束时,currentNum
的值应为(0…39)
。但是它不应该从0,1,2,3,4,5,6,7,8,…39开始应用
它应该以随机方式应用,如39,4,5,17,28,16….
,并且它应该覆盖0-40
中的所有数字。我认为这可以在java中使用HashMap
实现,但是如何在javascript中实现呢?var numbers=Array(rowCount);
$rowCount = 40 ;
for (var $j = 0; $j < $rowCount -1; $j++) {
var currentNum = #something
}
对于(var i=0;i
您可以尝试以下方法:
var\u data=[];
对于(变量i=0;i<40;i++){
_数据推送(i);
}
var结果=[];
_data.slice().forEach(函数(){
结果.推送(getRandomValue(_数据))
});
函数getRandomValue(arr,i){
var r=数学地板(数学随机()*arr.length);
var结果=arr[r];
阵列拼接(r,1);
返回结果;
}
document.write(“+JSON.stringify(result,0,4)+”)代码>查找Fisher-Yates shuffle。你的Java方式是什么?Like HashMap不能保证保持顺序。但它可能会这样做。
var numbers = Array(rowCount);
for(var i = 0; i < rowCount; i++) numbers[i] = i;
shuffle(numbers); // randomly shuffle array elements
for (var $j = 0; $j < $rowCount -1; $j++) {
var currentNum = numbers[i];
}