我正在尝试生成JavaScript中30的倍数的随机整数。
那是:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js"></script>
<div id="map_canvas"></div>
<div id="sidebar" class="legend"></div>
所以我正在寻找类似这样的函数:
0 60 0 180 120 ...... and so on
in range between 0 to 360 for example
答案 0 :(得分:4)
生成0到12(范围)之间的随机数,然后乘以30(多个):
Math.floor(Math.random() * 12) * 30
这会给你[0, 360)
(所以你永远不会得到360)
答案 1 :(得分:3)
这是一个现场演示,显示了一个完整的工作功能 - 一般的想法是你乘以(最大/倍数),将值乘以,然后乘以倍数:
function generate(min, max, multiple) {
var res = Math.floor(Math.random() * ((max - min) / multiple)) * multiple + min;
return res;
}
alert(generate(0, 360, 30));
答案 2 :(得分:1)
似乎应该有效。
function randomMultiple(max, mult) {
return Math.floor(Math.random() * (max / mult)) * mult;
}
因此randomMultiple(360, 30)
的调用会产生G
G = { y = 30 * x | 0 < x < 12 }