js随机抽奖一二三等奖不重复的抽奖逻辑怎么设置

js随机抽奖一二三等奖不重复的抽奖逻辑怎么设置,第1张

<!DOCTYPE html>

<html>

<head>

<title>js随机抽奖一二三等奖不重复的抽奖逻辑怎么设置</title>

<meta charset="UTF-8" />

<script>

//添加一个随机函数

Mathrand = function(min, max){

function subRand(min, max){

min = min  min : 0;

max = max  max : 9;

var result = 0;

do{

result = Mathrandom()toString()substr(2, 1);

}while(!(result >= min && result <= max));

return result;

}

function getBit(maxBit){

maxBit = maxBit  maxBit : maxtoString()length;

var result = [],

count = 0;

for(var i = 0; i < maxBit; i++){

resultpush(subRand());

if(i != 0 && result[i] == result[i - 1]){

count++;

}

}

return maxBit - count;

}

min = min  min : 0;

max = max  max : 0;

var result = '',

bit = getBit();

do{

result = '';

for(var i = 0; i < bit; i++){

result = result + subRand();

}

result = parseInt(result);

}while(!(result >= min && result <= max));

return result;

}

//consolelog(Mathrand(0, 100));

//LuckDraw 抽奖类 参数一 奖池数组, 参数二 中奖数量 返回 中奖索引

function LuckDraw(pool, numberOfWinners){

var results = [],

//是否已经中奖

isExists = function(index){

for(var i = 0; i < resultslength; i++){

if(results[i] == index){

return true;

}

}

return false;

},

subLuckDraw = function(){

do{

result = Mathrand(0, poollength - 1);

}while(isExists(result));

return result;

}

for(var i = 0; i < numberOfWinners; i++){

resultspush(subLuckDraw());

}

return results;

}

var pool = [

'关',

'张',

'赵',

'马',

'黄',

'曹老板'

];

winners = LuckDraw(pool, 3); //返回从奖池中 中奖的索引,假设123等奖都只有一名的话各取一个即可

//假设123等奖 一等奖 1名, 二等奖 2名, 三等奖 3名, 只需要调用这个函数第二个参数设置为总和 6 即可

//然后从结果中第一个索引为一等奖 23 索引为二等奖 , 456索引为 三等奖

consolelog(winners);

</script>

</head>

<body>

<script>

for(var i = 0; i < winnerslength; i++){

documentwrite(pool[winners[i]] + ' 恭喜你中了' + (i + 1) + '等奖<br />');

}

</script>

</body>

</html>

<script language="javascript">

var num=13;//假设有13个同学

var name=new array( );

var aaa=new array( );//定义两个数组

for(var i=0;i<num;i++){

name[i]=“姓名"+i;

}//把同学名字放进name数组

for(var i = 0; i<num; i++)

{

var j = Mathfloor((num-i)Mathrandom());//获取小于13的随机数

aaapush(name[j]);//往aaa数组添加name数组的数据

namesplice(j,1);//把name数组里的数据删掉

}

documentwrite(aaajoin("<br>"));数组里每个元素增加一个换行。

</script>

不懂可追问。

以上就是关于js随机抽奖一二三等奖不重复的抽奖逻辑怎么设置全部的内容,包括:js随机抽奖一二三等奖不重复的抽奖逻辑怎么设置、用javascript做一个随机不重复点名、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9716632.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存