Maison > interface Web > js tutoriel > le corps du texte

js implémente le partage de code pour générer les nombres 1, 2, 3 et 5 selon la probabilité

小云云
Libérer: 2018-02-12 09:37:17
original
1927 Les gens l'ont consulté

Cet article vous présente principalement l'implémentation js de la génération des nombres 1, 2, 3 et 5 selon la probabilité. Les amis qui en ont besoin peuvent s'y référer. J'espère que cela pourra aider tout le monde.

js est généré selon la probabilité configurée. Les règles de probabilité sont les suivantes :
1------------50%

2. ----- -------30%

3------------15%

5-------- ----5 %

Code simple


function myRandom() {
 var rand = Math.random();
 if (rand < .5) return 1;
 if (rand < .8) return 2;
 if (rand < .95) return 3;
 return 5;
}
Copier après la connexion

Code complexe


function prizeRand(oArr) {
 var sum = 0; // 总和
 var rand = 0; // 每次循环产生的随机数
 var result = 0; // 返回的对象的key

 console.log(oArr);

 // 计算总和
 for (var i in oArr) {
  sum += oArr[i][0];
 }

 // 思路就是如果设置的数落在随机数内,则返回,否则减去本次的数
 for (var i in oArr) {
  rand = Math.floor(Math.random()*sum + 1);
  if (oArr[i][0] >= rand) {
   result = oArr[i][0];
   break;
  } else {
   sum -= oArr[i][0];
  }
 }

 return result;

}

var oArr = {&#39;5&#39;:[5, &#39;Mac&#39;], &#39;3&#39;:[15, &#39;iPhone&#39;], &#39;2&#39;:[30, &#39;iPad&#39;], &#39;1&#39;:[50, &#39;iWatch&#39;]};

console.log(prizeRand(oArr));
Copier après la connexion

recommandé associé :

implémentation php du code de l'algorithme de probabilité de loterie

fonction de calcul de probabilité PHP

implémentation php Exemple d'algorithme de probabilité de gain d'un programme de loterie

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal