在平常活动开发当中,经常会碰到抽奖等类似的js功能,那么下面我们随机取数组中的一条来展示出来。
( 一 ) 无概率问题
var gift_ = ['apple pro一台','iphoneX一台','小米Note3一台','超级玛丽像素人一个','iPad pro一台','现金666元','抱歉,未中奖呀']; var __MaxNumber__ = gift_.length; function __gift__(){ var _number = Math.floor(Math.random()*__MaxNumber__); console.log(_number); console.log(gift_[_number]); }
__gift__();
Math.floor(Math.random()*__MaxNumber__); 随机取值0 ~ gift_数组的长度,并没有计算取出数值的概率问题
( 二 ) 有概率问题
var gitf_ = [ {one:'apple pro一台',two:'iphoneX一台',three:'现金666元',four: '抱歉,未中奖呀'} ]; function __gift__() { var __rand__ = Math.random(); if (__rand__ < .15) console.log(gitf_[0].one); else if (__rand__ < .3) console.log(gitf_[0].two); else if (__rand__ < .6) console.log(gitf_[0].three); else console.log(gitf_[0].four); }
__gift__();
var rand = Math.random(); 通过rand来设置取出数据的概率大小,就像某个活动抽奖,一等奖有可能永远都不会被抽到一样?