美文网首页
编写一个函数fn(n),返回一个数组

编写一个函数fn(n),返回一个数组

作者: 以手画圆心 | 来源:发表于2017-12-21 10:47 被阅读23次

具体题干:编写一个JavaScript函数fn,该函数有一个参数n(数值型),返回一个数组,该数组内是n个不重复的整数,取值范围【2,32】

function fn(n){
    // 取值范围
    var mix = 2;
    var max = 32;
    // 判断n是否是数字
    if(typeof n!== 'number') return [];
    // 判断n是否在2到31之间
    if(n >= max || n < 0) return [];
    // 判断n是否为整数
    if(n % 1 !== 0 ) return [];
    // 准备容器
    var arr=[];
    // 循环
    for( var j = 0; j < n; j++){
        // 调用随机函数,获取随机值
        var rs = getRand(mix,max); 
        // 判断得到的数是否重复
        if(arr.indexOf(rs)==-1){
            // 为容器添加元素
            arr.push(rs);
        }else{
            j--
        }
    }
    // 返回数组
    return arr;
}

// 创建随机函数
function getRand(begain,end){
    return Math.floor(Math.random()*(end-begain))+begain;
}

代码要求总结:可用、健壮、可靠、宽容、精益求精、

相关文章

  • 编写一个函数fn(n),返回一个数组

    具体题干:编写一个JavaScript函数fn,该函数有一个参数n(数值型),返回一个数组,该数组内是n个不重复的...

  • js算法面试题

    //创建一个函数fn,返回一个数组饱含n个数,每个数随机在[2,32]取值,且不重复。 同花顺五张连续相同花色,随...

  • ES6数组新增方法

    Array.prototype.find(fn)返回数组中,满足提供的测试函数的条件的第一个元素的值,否则返回un...

  • 再写排序

    对于一个int数组,请编写一个插入排序算法,对数组元素排序。给定一个int数组A及数组的大小n,请返回排序后的数组...

  • 非空子集

    请编写一个方法,返回某集合的所有非空子集。 给定一个int数组A和数组的大小int n,请返回A的所有非空子集。保...

  • rand()函数用法

    rand函数产生由在(0, 1)之间均匀分布的随机数组成的数组。 Y = rand(n) 返回一个n x n的随机...

  • [Javascript] Array.prototype.sor

    sort方法用于对数组排序,它接受一个比较函数作为参数sort(fn(a,b))如果a应该出现在b之前,则返回小于...

  • react学习第二天笔记

    箭头函数 箭头函数基础知识var fn=()=>333;执行函数fn()的结果是333;var fn=(n,m)=...

  • ES5中引入数组的常用方法

    1.forEach 2. map 映射 语法:数组.map(fn)返回一个数组, 数组的每一个元素就是 map 函...

  • Swift - 函数式编程

    在上面代码中,我们定义了一个函数,该函数接收一个参数,返回一个函数,也算返回一个闭包var fn = add(3)...

网友评论

      本文标题:编写一个函数fn(n),返回一个数组

      本文链接:https://www.haomeiwen.com/subject/gtiowxtx.html