Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中随机循环? $rowCount=40; 对于(变量$j=0;$j_Javascript_Algorithm - Fatal编程技术网

如何在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];
}