只返回不在数组中的随机数

J. *_*fey 2 javascript arrays jquery

我想创建一个函数,它将一个数组作为参数,从中创建一个随机数1 - 10,并运行直到它创建一个不在数组中的数字,并返回它.

这是jsfiddle

function contains() {
  var check = false;
  while (!check) {
    var random = Math.floor(Math.random() * 10);
    random += 1;
    for (var i = 0; i < arr.length; i++) {
      if (arr[i] === random) {
        console.log(random);
        check = false;
        return false;
      }
    }
    check = true;
    console.log(random);
    return true;
  }
}

var arr = [1, 2, 3, 4, 5, 6];

$(".test").on("click", function() {
  contains(arr);
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="test">
Test
</button>
Run Code Online (Sandbox Code Playgroud)

Cer*_*nce 6

使用.includesArray方法查看数组中是否存在值:

https://jsfiddle.net/an3ogr34/8/

function contains(arrParam) {
  while (true) {
    var random = 1 + Math.floor(Math.random() * 10);
    if (!arrParam.includes(random)) return random;
  }
}

var arr = [1, 2, 3, 4, 5, 6];
$(".test").on("click", function() {
  const result = contains(arr);
  console.log(result);
});
Run Code Online (Sandbox Code Playgroud)