function fn(n){ let max = 32; let min = 2; let res = new Set(); if(n>(max-min + 1)){ return; } while(res.size != n){ let num = Math.floor(Math.random() * (max - min + 1)) + min; res.add(num); } return [...res]; }
function random(num){ // 因为join会减少一个,所以数组长度+1 var arr=new Array(32).join('1').split(''); arr.forEach((item,i)=>{ if(i>0){ arr[i]=arr[i-1]+1 }else{ arr[0]=2 } }) var arr_n=[] // 随机选择 for(var i=0;i<num;i++){ var n=parseInt(Math.random()*(30-i)); arr_n.push(arr[n]); arr.splice(n,1); } return arr_n }
function fn(n){
//1.判断参数n是否为数字类型
let nType = typeof n;
if(nType != "number" || n > 31) return false;
//2.如果是数字类型就创建随机数组
let arr = [];
while(arr.length < n){
//生成随机整数(2,32)
num = Math.floor(Math.random()*(32-2)+2);
arr.push(num);
//3.对数组进行去重(也可以在加入之前看加入的元素是不是已经数组中,不在的话再push)
arr = setArr(arr);
}
return arr;
}
//数组去重函数(可以用循环遍历实现)
function setArr(arr){
let arr1 = arr;
arr = [];
let setarr = new Set(arr1);
for(let item of setarr){
arr.push(item);
}
return arr;
}