如何产生不同的随机数不相同?

时间:2019-06-16 10:47:04

标签: javascript

我需要通过两次比较获得不相同的数字。首先,它将检查条件1是否相等。它将再次检查第二种情况。

prediction2d包含12个数字:54,87,85,62,41,32,56,48,72,76,65,35

首先检查长度是否小于8,然后将预测2d与随机数进行比较。现在。随我所愿。但是,我想再次比较一下。随机数与附加数。之后,它将推送到其他号码。

随机数有时会输出与anotherNumber数组中已经存在的相同数。如何使其不相同。

var additionalNumber = [];
while(additionalNumber.length < 8){
    length = additionalNumber.length;
    for(var i = 0; i < 12; i++){
        var randomNumber = controlNumber(10, 99);

        if(randomNumber != prediction2d[i]){
          additionalGroup.layers[length].textItem.contents = 
          randomNumber;
          additionalNumber.push(randomNumber);
          break;
        }
    }
}

1 个答案:

答案 0 :(得分:0)

您可以使用Array.prototype.includes()检查数组中是否已存在值。

const prediction2d = [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22];
const additionalNumber = [];

while(additionalNumber.length < 8) {
    const randomNumber = Math.floor((Math.random() * (99 - 10 + 1)) + 10);
    if (! additionalNumber.includes(randomNumber)) {
        if (! prediction2d.includes(randomNumber)) {
            additionalNumber.push(randomNumber);
        }  
    }
}
console.log(additionalNumber);

您还可以使用Array.prototype.indexOf()Array.prototype.find()Array.prototype.findIndex()