Math对象方法的使用方式: Math.方法名(实参...)
1. 随机小数: 0-1之间, random()
2. 取整方式
2.1 ceil(): 向上取整, Math.ceil(参数) : 天花板数
2.2 floor(): 向下取整, Math.floor(参数) : 地板数
2.3 round(): 四舍五入, Math.round(参数)
3. 求最大值和最小值
3.1 max(): 最大值, 不限定参数
3.2 min(): 最小值, 不限定参数
4. 求幂: x 的 y 次方: Math.pow(底数x,指数y)
如何生成任意范围随机数
1、 如何生成0-10的随机数呢?
Math.floor(Math.random() * (10 + 1))
2、如何生成5-10的随机数?
Math.floor(Math.random() * (5 + 1)) + 5
3、如何生成N-M之间的随机数
Math.floor(Math.random() * (M - N + 1)) + N
求:0-N之间随机正数
1. 随机0-1之间的小数: Math.random()
2. 放大指定倍数: * N
3. 取整: 如果是两端都有 Math.round(), 如果不包含小: Math.ceil() 如果只要小: Math.floor()
其中: Math.ceil()是不大安全的: 可能随机到0( 一般会忽略概率)
随机点名案例
需求:请把 [‘赵云’, ‘黄忠’, ‘关羽’, ‘张飞’, ‘马超’, ‘刘备’, ‘曹操’] 随机显示一个名字到页面中
分析:
①:利用随机函数随机生成一个数字作为索引号
②: 数组[随机数] 生成到页面中
<script>
function getRandom(min, max) {
//最小值-最大值的随机数(包含最小值和最大值)
return Math.floor(Math.random() * (max - min + 1)) + min
}
let arr = ['赵云', '黄忠', '关羽', '张飞', '马超', '刘备', '曹操', 'pink老师']
//生成随机数
let random = getRandom(0, arr.length - 1)
console.log(random);
//渲染到页面
document.write(arr[random])
// document.write(arr[random])
//从数组里删除这个元素
arr.splice(random, 1)
//渲染到控制台
console.log(arr)
</script>