一、创建一个长度为5的空数组
var arr = new Array(5);
二、生成一个2-32之间的随机整数
如果是细致的考虑,就需要包括[2,32],(2,32),(2,32],[2,32)四种情况了,请自行解决,我们采用[2, 32]
var rand = Math.floor(Math.random()*(32-2+1) + 2)
三、将生成的随机数arr数组内,且arr内不可存在相同数字
function getNewArr(index,arr){
if(index >= 5){
return false
}
if(!arr.includes(rand)){
arr[index++] = rand
getNewArr(index, arr)
}else{
getNewArr(index, arr)
}
}
getNewArr(0, arr)
console.log(arr)
用object方式替换includes的判断
const getNewArr = function(len){
let arr = new Array(len),index = 0,obj = {};
let rand = Math.floor(Math.random()*(32-2+1)+2);
const pushArr = function(num){
if(index < num){
if(obj[index]){
pushArr(rand)
}else{
arr[index++] = num;
obj[num] = true;
pushArr(rand)
}
}
}
pushArr(rand)
return arr
}
console.log(getNewArr(5))