index.js 841 B

123456789101112131415161718192021222324252627282930
  1. //
  2. function exit(maxLen, baseArr, newNumber) {
  3. // 创建一开始的随机数
  4. newNumber = newNumber === 0 ? newNumber : newNumber || Math.floor(Math.random() * 31 + 2);
  5. //创建一开始的数组
  6. baseArr = baseArr || [];
  7. let isExit = false;
  8. for (var i in baseArr) {
  9. if (baseArr[i] === newNumber) {
  10. isExit = true;
  11. break;
  12. }
  13. }
  14. //存在的话则递归获取不存在的数;
  15. if (isExit) {
  16. //创建新的数据
  17. newNumber = exit(maxLen, baseArr);
  18. } else {
  19. //不存在于数组中,添加到数组内
  20. baseArr.push(newNumber);
  21. if (baseArr.length === maxLen) {
  22. return baseArr;
  23. } else {
  24. baseArr = exit(maxLen, baseArr)
  25. }
  26. }
  27. return baseArr;
  28. }
  29. console.log(exit(5));
  30. console.log(exit(5));