123456789101112131415161718192021222324252627282930 |
- //
- function exit(maxLen, baseArr, newNumber) {
- // 创建一开始的随机数
- newNumber = newNumber === 0 ? newNumber : newNumber || Math.floor(Math.random() * 31 + 2);
- //创建一开始的数组
- baseArr = baseArr || [];
- let isExit = false;
- for (var i in baseArr) {
- if (baseArr[i] === newNumber) {
- isExit = true;
- break;
- }
- }
- //存在的话则递归获取不存在的数;
- if (isExit) {
- //创建新的数据
- newNumber = exit(maxLen, baseArr);
- } else {
- //不存在于数组中,添加到数组内
- baseArr.push(newNumber);
- if (baseArr.length === maxLen) {
- return baseArr;
- } else {
- baseArr = exit(maxLen, baseArr)
- }
- }
- return baseArr;
- }
- console.log(exit(5));
- console.log(exit(5));
|