首页 > 解决方案 > 如何生成随机数,然后排除数字数组

问题描述

我想生成 1-50 的随机数,然后排除一个像这样的数组;4,7,10,20,35 等

我试过这个;

let mainNum = 50
let exclNum = [4, 7, 10, 20, 35];
if (!exclNum.includes(mainNum)) {
  console.log(Math.floor(Math.random() * mainNum) + 1)
}

但它仍然会生成仍在数组中的数字,请问我有什么遗漏吗?

感谢您提前回复

标签: javascriptjqueryrandom

解决方案


您需要先生成随机数,然后检查它是否在数组中。在循环中执行此操作,直到它不在数组中。

let mainNum = 50
let exclNum = [4, 7, 10, 20, 35];
let ranNum;
while (true) {
  ranNum = Math.floor(Math.random() * mainNum) + 1;
  if (!exclNum.includes(ranNum)) {
    break;
  }
}
console.log(ranNum);


推荐阅读