题解 | #无重复数组#
无重复数组
https://www.nowcoder.com/practice/d2fa3632268b41df9bc417b74802ad8c
const _getUniqueNums = (start, end, n) => { //run是一个用于递归的函数,闭包引用_getUniqueNums作用域的数组result,这个数组result是最终需要返回的结果 function run(arr,start,end,n){ for(let i=0;i<n-arr.length;i++){ //确定数组元素范围start<=num<=end let num=Math.floor(Math.random()*(end-start))+start+1 //数组中存在一样的数字,不操作;不存在一样的数字,存入数字 arr.find(item=>item==num)?arr:arr.push(num) } //当数组长度不是n时,进行递归,所有的参数都是闭包引用的,所以n就是最外层作用域的n if(n>arr.length) run(arr,start,end,n) return arr } let result=new Array() run(result,start,end,n) return result }