// 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));