首先定义个fn用来返回整数的取值范围:

function getRand(a,b){
    var rand = Math.ceil(Math.random()*(b-a)+a);
    return rand;
}

再写一个func用来做去重校验:

function checkArrIn(rand,array){
    if(array.indexOf(rand) > -1){
        return true
    }
    return false;
}

最后是整体实现:

function fn(n, min, max) {
    var arr = [];
    var isNum = !isNaN(Number(n));//判断n是不是一个数字,包含字符串类型的数字
    var isRandOk = (n >= min && n <= max && n <= (max - min)) ? true : false;//判断n的取值是否符合要求
    if (n && isRandOk && isNum) {
        for (var i = 0; i < n; i++) {
            var rand = getRand(min, max);
            if (checkArrIn(rand, arr)) {
                i--
            } else {
                arr.push(rand)
            }
        }
    }
    return arr;
}

 

相关文章:

  • 2022-03-02
  • 2022-12-23
  • 2022-12-23
  • 2021-05-31
  • 2021-08-26
  • 2021-11-29
  • 2021-06-02
猜你喜欢
  • 2022-03-03
  • 2022-12-23
  • 2021-10-23
  • 2021-08-19
  • 2022-01-13
相关资源
相似解决方案