简单说:写个函数,接受数字n,返回个数组,包含n个随机数(min, max 之间),且不重复。
function fn(n,min=2,max=32) {
if (isNaN(n)) {
console.warn('input n:' + n + ' is not a Number');
return [];
}
if (n > max || n < min) {
console.warn('input n:' + n + ' is out of bound');
return [];
}
var arr1 = [];
for (let i =0; i < n; i++) {
var ret = rand(min, max);
if (isDupli(ret, arr1)) {
i--;
} else {
arr1.push(ret);
}
}
return arr1;
}
function rand(min, max) {
return ret = Math.floor(Math.random()*(max-min)) + min;
}
function isDupli(ele, arr) {
for(let i = 0; i< arr.length; i++) {
if (arr[i] == ele) return true;
}
return false;
}
fn(5);