javascript - 不是来自数组的随机数
问题描述
我试图在我的 array_Block01 中找到一个不等于任何数字的随机数。我似乎只能在我的数组中找到一个随机数,但是我如何在我的数组之外找到一个数字?
var array_Block01 = []
while(array_Block01.length < 9){
var r = Math.floor(Math.random()*9) + 1;
if(array_Block01.indexOf(r) === -1) array_Block01.push(r);
}
RandomValue = array_Block01[Math.floor(Math.random()*array_Block01.length)];
解决方案
好的,这是执行此操作的代码 -
var array_Block01 = []
while(array_Block01.length < 9){
var r = Math.floor(Math.random()*9) + 1;
if(array_Block01.indexOf(r) === -1) array_Block01.push(r);
}
function getRandomExceptArray(arr){
while(true){
let randValue = Math.floor(Math.random() * 18); //18 is upper limit
if(randValue !==0 && arr.indexOf(randValue) === -1) return randValue;
}
}
RandomValue = getRandomExceptArray(array_Block01);
推荐阅读
- python - 从具有字典列表值的列表中搜索字符串值
- ruby-on-rails - 没有控制器或操作的 RSpec 测试健康端点
- c++ - OpenSSL 是直接使用给定的 hmac 密钥还是在使用之前进行处理?
- sql - 如何在 PL/SQL 中的触发器后获取复选框的值?
- julia - 在 Julia 中使用 impute.interp 进行插值的问题
- php - 创建独立的 MS Graph 登录门户
- android - 应用重启后保持 URI 权限
- python - 如何抓取网络新闻并将段落合并到每篇文章中
- react-native - 道具更新后,reanimated call() 中的函数未更新
- excel - 用公式中的固定范围替换整个列