递归函数获得n个不重复的随机数

    // 递归函数获取不重复的随机数
    var arr_end; // 用于保存最后得到的数组
    function suiji(n) {
      var arr = []
      // 产生n个随机数加入数组
      for(var i=0;i<n;i++){
        var suijishu = Math.random()*31 + 1 
        suijishu = Math.ceil(suijishu) 
        arr.push(suijishu)
      }
      // 数组去重
      arr = new Set(arr)
      arr = Array.from(arr)
      // 递归处理
      if(arr.length < n){
        suiji(n)
      }else{
        arr_end = arr
        return 
      }
      
    }
    suiji(5)
    console.log(arr_end);

 

posted @ 2018-04-08 17:41  曾经的水哥  阅读(286)  评论(0编辑  收藏  举报