首页 > 编程语言 > 详细

用递归算法实现:数组长度为 5且元素的随机数在2-32 之间的不重复的值

时间:2019-09-12 16:04:35      阅读:108      评论:0      收藏:0      [点我收藏+]

我在这里换了个编辑器 之前两篇用的是 markdown 的语法编辑器写的.发现插入代码的不好看.. 于是试试这个 TinyMCE 怎么样.

    var arr = new Array(5);   //首先创建一个长度为 5 的数组
    var num = randomNumber();   //获取一个随机数 调用 randomNumber()方法获取
    var i = 0;   //计数器
    randomArr(arr,num);   //处理规则的函数方法
    function randomArr(arr,num){
        if(arr.indexOf(num)<0){   //如果该随机数 arr 内没有的话,就将 arr 的第 i 个值设为该随机数 然后 i+1
            arr[i] = num;
            i++
        }else{
            num = randomNumber();   //如果随机数存在 就重新获取随机数
        }
        if(i>=arr.length){   //当 i 大于等于 arr 规定的长度的时候 就将 arr 打印出来 停止函数执行
            console.log(arr)
            return
        }else{
            randomArr(arr,num)   //否则就继续执行该函数规则
        }
        
        
    }
    
    function randomNumber(){
        return Math.floor(Math.random()*31)+2   //Math.floor()取整  Math.random()会获取到 0-1 之间的任意随机数 不包含 0 和 1. 这里取乘数为 31 的原因也是因为取整后最大永远只会是 30
    }

 

[注:] 这些题目以及答案都是在网上找的,个人认为解答的比较好的 . 出自 https://github.com/haizlin/fe-interview 特此说明

 

用递归算法实现:数组长度为 5且元素的随机数在2-32 之间的不重复的值

原文:https://www.cnblogs.com/evilr/p/11512208.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!