random()的使用技巧

Math.random() 方法返回大于等于0小于1的一个随机数。

套用下面的公式,就可以利用 Math.random() 从某个整数范围内随机选择一个值。

值 = Math.floor(Math.random() * 可能值的总数 + 第一个可能的值)

公式中使用 Math.floor() 方法,是因为 Math.random()  总返回一个小数值。而利用这个小数值乘以一个整数,然后再加上一个整数,最终结果仍然是一个小输。例如:

  • 随机选择 1 ~ 10 之间数值:
var num = Math.floor(Math.random() * 10 + 1)
  • 随机选择 2 ~ 10 之间数值(从2数到10要9个数,因此可能值总和是9,而第一个可能就是2):
var num = Math.floor(Math.random() * 9 + 2)

多数情况下,其实都可以通过一个函数来计算可能值的总数和第一个可能的值:

function selectFrom(lowerValue, upperValue) {
    var choices = upperValue - lowerValue + 1
    return Math.floor(Math.random() * choices + lowerValue)
}
var num = selectFrom(2, 10)
alert(num)    // 介于2和10之间(包括2和10)的一个值

利用这个函数还可以从数组中随机取出一项,例如:

var colors = ['red', 'green', 'blue', 'yellow', 'black', 'brown']
var color = colors[slectFrom(0, colors.length - 1)]
alert(color)    // 可能是数组中包含得任何一个字符串

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值