9行代码递归实现取随机不重复的数字加入数组

题目要求

  • 用递归算法实现(限制15行代码以内实现)

  • 生成一个长度为5的空数组arr。

  • 生成一个(2-32)之间的随机整数rand。

  • 把随机数rand插入到数组arr内,如果数组arr内已存在与rand相同的数字,则重新生成随机数rand并插入到arr内[需要使用递归实现,不能使用for/while等循环]*

  • 最终输出一个长度为5,且内容不重复的数组arr

代码
var arr = new Array(5);
function getRandomInsertArr (length) {
 if (length < 0) return;
 const tempItem = Math.floor(2 + Math.random() * 31);
 if (arr.includes(tempItem)) return getRandomInsertArr(length);
 arr[length] = tempItem;
 return getRandomInsertArr(length - 1);
}
getRandomInsertArr(arr.length-1);

你可能感兴趣的:(9行代码递归实现取随机不重复的数字加入数组)