题目如下:
HTML文件:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="./js/index.js"></script>
</head>
<body>
<script type="text/javascript">
var testArr = getRandomNum(1,30,3);
document.write("<h1>1-30 以内的 3 个随机数:"+testArr+"</h1>");
testArr = getRandomNum(1,100,10);
document.write("<h1>1-100 以内的 10 个随机数:"+testArr+"</h1>");
</script>
</body>
</html>
index.js文件如下:
const getRandomNum = function(min,max,countNum){
var arr = [];
// 在此处补全代码
return arr;
}
module.exports = getRandomNum; //请勿删除
由题目意思可知:
1.填写代码的位置:index.js
2.要求:控制生成随机数的范围和个数
基 本 思 路:1.既然要控制生成的随机数个数countNum,那么可以使用for循环来控制。
2.接下来就是重点如何控制生成随机数的范围
拓展知识面:
Math.ceil(n); 向上取整。返回大于等于n的最小整数。
Math.floor(n); 向下取整。返回为n的整数部分。
Math.round(n); 四舍五入。返回为n四舍五入后的整数。
Math.random(n); 0.0 ~ 1.0 之间的一个伪随机数。【包含0,不包含1】 //比如0.8647578968666494
Math.ceil(Math.random()*10); 获取从1到10的随机整数 ,取0的概率极小。
Math.floor(Math.random()*10); 可均衡获取0到9的随机整数。
Math.round(Math.random()); 可均衡获取0或1的随机整数。(因为random()生成的是0-1的数,四舍五入后只有0或1)
Math.round(Math.random()*10); 基本均衡获取0到10的随机整数,其中获取最小值0和最大值10的几率少一半。
重要公式:(Math.random()*(maxNum-minNum+1)+minNum,10)
maxNum范围最大值
minNum范围最小值
如此控制生成的随机数范围。
解答方法:
const getRandomNum = function(min,max,countNum){
var arr = [];
for(i=0;i<countNum;i++) {
arr[i]=parseInt(Math.random()*(max-min+1)+min,10);
} // 在此处补全代码
return arr;
}
module.exports = getRandomNum; //请勿删除