【发布时间】:2016-10-15 07:24:23
【问题描述】:
我需要获取随机数,但它不应该等于之前的数字。这是我的一段代码。但它不起作用。
function getNumber(){
var min = 0;
var max = 4;
var i;
i = Math.floor(Math.random() * (max - min)) + min;
if (i=== i) {
i = Math.floor(Math.random() * (max - min)) + min;
}
return i;
};
console.log(getNumber());
【问题讨论】:
-
i=== i始终为真,因此您始终执行if内部的内容。 -
` i=== i` 将始终返回
true,因此将始终执行对i的第二次分配。将以前的数字存储在变量中,然后将其与新数字进行比较,而不是将新数字与自身进行比较 -
获取所需长度的数组并打乱数组.. IMO,每次询问数字时最好避免
while循环.. -
这个问题是说不要重复之前的数字还是之前的所有数字?两者的逻辑会有所不同。
标签: javascript