随机数不是来自数组

时间:2019-03-16 07:03:56

标签: javascript

我正在尝试查找一个不等于我的array_Block01中的任何数字的随机数。我似乎只能在数组中找到一个randon数字,但是如何在数组之外找到一个数字?

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)]; 

1 个答案:

答案 0 :(得分:1)

好的,这是执行此操作的代码-

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);