我尝试以4为间隔生成0到n之间的随机整数。例如,如果n
为10,则它将以4为增量计数,并可能生成0,3或7以任何顺序:7,0,3等。最大间隔将是一个变量。我已经生成了一个随机整数,但不是从0或间隔:
Math.floor(Math.random() * 10) + 1;
我已经看到了在某些数字之间生成随机整数的示例,但不是从0或某些时间间隔生成随机整数。提前谢谢!
答案 0 :(得分:2)
为了做到这一点,没有理由为循环而烦恼。该解决方案仅适用于一些基本算法:
const randomInterval = (min, max, step) => {
const numberOfSteps = Math.floor((max - min) / step) + 1
const randomStep = Math.floor(Math.random() * numberOfSteps)
return min + randomStep * step
}
console.log('0, 4, or 8 =>', randomInterval(0, 10, 4))
console.log('0, 4, 8, or 12 =>', randomInterval(0, 12, 4))
console.log('1-10 =>', randomInterval(1, 10, 1))
答案 1 :(得分:1)
这允许您指定最小值,最大值和步长。它找到符合该类别的所有数字,并从该子集中为您提供随机数。
/**
* Contact
*
* @ORM\Table(name="contact")
* @ORM\Entity(repositoryClass="ImporterBundle\Repository\ContactRepository")
* @Serializer\ExclusionPolicy("ALL")
*/
class Contact
{
/**
* @var OriginalData
*
* @ORM\OneToOne(targetEntity="ImporterBundle\Entity\OriginalData")
* @Serializer\Exclude()
*/
private $originalData;