Heim > Web-Frontend > js-Tutorial > js erkennt das Auftreten von 1,2,3,5 mit einer bestimmten Wahrscheinlichkeit

js erkennt das Auftreten von 1,2,3,5 mit einer bestimmten Wahrscheinlichkeit

巴扎黑
Freigeben: 2017-09-13 09:18:52
Original
1831 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich die js-Implementierung zum Generieren der Zahlen 1, 2, 3 und 5 entsprechend der Wahrscheinlichkeit vorgestellt. Freunde, die sie benötigen, können darauf verweisen.

js wird gemäß den konfigurierten Wahrscheinlichkeitsregeln generiert sind wie folgt:
1 ------------50%

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

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

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

Einfacher Code


function myRandom() {
 var rand = Math.random();
 if (rand < .5) return 1;
 if (rand < .8) return 2;
 if (rand < .95) return 3;
 return 5;
}
Nach dem Login kopieren

Komplexe


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));
Nach dem Login kopieren

Sie können entsprechend Ihren Anforderungen auswählen. Es wird empfohlen, den vorherigen Artikel von Script zu lesen Haus.

Das obige ist der detaillierte Inhalt vonjs erkennt das Auftreten von 1,2,3,5 mit einer bestimmten Wahrscheinlichkeit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage