在群里遇到有人提出一道题: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);
原文地址:https://www.cnblogs.com/fqh123/p/11479270.html
时间: 2024-12-07 23:23:37