随机生成指定范围内的随机数,放在指定长度的数组内

在群里遇到有人提出一道题:1、创建一个长度为5的空数组arr。

             2、生成一个[2,32]之间的随机整数rand。

             3、把随机整数插入到arr内,如果arr内已存在与rand相同的数,则重新生成随机整数并插入(需要使用递归实现,不能使用for/while等循环)。

             4、最后输出一个长度为5,且内容不重复的数组arr。

首先:生成指定范围的随机整数的公式:

Math.floor(Math.random()*(max-min+1)+min);

之后看完整的方法:

        var arr = new Array(5);
        function generateRand(index,arr){
            if(index>=5){
                return;
            }
            let rand=Math.floor(Math.random()*(32-2+1)+2);
            if(!arr.includes(rand)){
                arr[index]=rand;
                index++;
                generateRand(index,arr);
            }else{
                generateRand(index,arr);
            }
            
        }
        generateRand(0,arr);
        console.log(arr);

猜你喜欢

转载自www.cnblogs.com/fqh123/p/11479270.html