如何在javascript中返回一个随机数,每次代码重新运行时,该随机数总是大于先前的随机数。例如,当代码第一次运行时,它返回1000,然后当它第二次运行时,它返回1300。
条件:该数字必须始终为整数。
答案 0 :(得分:7)
function randomFunction() {
var x = 0
return function() {
x = x + Math.round( Math.random() * 100 )
return x
}
}
var nextRandom = randomFunction()
nextRandom() // => 51
nextRandom() // => 127
nextRandom() // => 203
答案 1 :(得分:2)
这个怎么样?
CountersAggregateInterval = TimeSpan.FromMinutes(5);
JobExpirationCheckInterval = TimeSpan.FromHours(1);
修改强>
受@dimakura杰出答案的启发,这是我的基于闭包的函数,它接受起始值和下一个最大随机步骤:
return '' +
'<td class="' + classes.join(' ') + '" data-date="' + date.format() + '">' + '<input type="checkbox" name="cal[]" id="checkbox-2-' + date.format() + '" class="regular-checkbox big-checkbox" value="' + date.format() +'" /><label for="checkbox-2-' + date.format() + '">' + date.date() + '</label>'
+
'</td>';
},
答案 2 :(得分:1)
如何简单地添加以前的号码?
答案 3 :(得分:0)
试试这个:
for (i = 0; i < n; i++) {
newR = Math.floor((Math.random() * 1000) + oldR);
// use newR here.
oldR = newR;
}
答案 4 :(得分:0)
将Math.random()
与Math.floor()
联系起来,将范围的最小值设置为最后一个结果。
var min = 0;
var max = 10000;
$("#randomise").click(function() {
var result = Math.floor(Math.random() * (max - min)) + min;
$("#result").text(result);
min = result;
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="result"></div>
<button id="randomise">Randomise</button>
&#13;