如何在JavaScript中生成30的倍数的随机整数

时间:2015-10-01 20:50:29

标签: javascript random

我正在尝试生成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 

3 个答案:

答案 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 }