自编函数
编写一个javscript函数 fn,该函数有一个参数 n(数字类型),其返回值是一个数组,该数组内是 n 个随机且不重复的整数,且整数取值范围是 [2, 32]。
function testRan(n) { var arr=[]; //需要返回的数组 //异常处理,如果n小于 2, 或者大于 32 if(n<2 || n>32) { return; } if(!n) { return;} //判断n是否为数字 if(!/^[0-9]+.?[0-9]*$/.test(n)) { return; } var scope={ min:2, max:32 }; var nl = Math.floor(n); //取整 for(var i=0;i<nl;i++) { // 产生一个随机数 var num= parseInt((scope.max-scope.min) * Math.random() + 2); //判断arr数组里是否含有这个num随机数 //arr.indexOf(num)为-1代表不包含 if(arr.indexOf(num)==-1) { arr.push(num); } else { i--; } } return arr; }
调用的方法: testRan(10) 会产生一个随机的包含10位数字的数组 ,已测试通过。 在早读上看到的一个题,拿来练手了。