编写一个javscript函数 fn,该函数有一个参数 n(数字类型),其返回值是一个数组,该数组内是 n 个随机且不重复的整数,且整数取值范围是 [2, 32]。

Posted shansally

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编写一个javscript函数 fn,该函数有一个参数 n(数字类型),其返回值是一个数组,该数组内是 n 个随机且不重复的整数,且整数取值范围是 [2, 32]。相关的知识,希望对你有一定的参考价值。

首先定义个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;
}

以上是关于编写一个javscript函数 fn,该函数有一个参数 n(数字类型),其返回值是一个数组,该数组内是 n 个随机且不重复的整数,且整数取值范围是 [2, 32]。的主要内容,如果未能解决你的问题,请参考以下文章

Javscript 基础

javscript基本语法

Javscript调用iframe框架页面中函数的方法

Javscript的函数链式调用基础篇

编写装饰器, 在每次执行被装饰函数之前让用户输入用户名, 密码, 给用户三次机会, # 登录成功之后, 才能访问该函数

std::mem_fn使用