如何在javascript中随机循环?

时间:2016-03-21 10:27:04

标签: javascript algorithm

$rowCount = 40 ; 
for (var $j = 0; $j < $rowCount -1; $j++) {
    var currentNum = #something
}

我需要一个机制,我可以以一种方式循环,我将以随机的方式将值应用于currentNum

例如:在循环结束时,currentNum的值应为(0....39)。但它不应该从0,1,2,3,4,5,6,7,8,.....39开始应用。

它应该以{{1​​}}之类的随机方式应用,它应涵盖39, 4, 5,17, 28 , 16 ....中的所有数字。我认为这可以使用java中的0-40来实现,但是如何在javascript中实现?

2 个答案:

答案 0 :(得分:0)

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];
}

答案 1 :(得分:0)

您可以尝试这样的事情:

var _data = [];
for (var i = 0; i < 40; i++) {
  _data.push(i);
}

var result = [];

_data.slice().forEach(function(){
	result.push(getRandomValue(_data))
});

function getRandomValue(arr,i) {
  var r = Math.floor(Math.random() * arr.length);
  var result = arr[r];
  arr.splice(r, 1);
  return result;
}

document.write("<pre>" + JSON.stringify(result,0,4) + "</pre>");