Heim  >  Artikel  >  Web-Frontend  >  Eine Erklärung der JavaScript-Implementierung der zufälligen Generierung von Ereignissen basierend auf der Wahrscheinlichkeit

Eine Erklärung der JavaScript-Implementierung der zufälligen Generierung von Ereignissen basierend auf der Wahrscheinlichkeit

巴扎黑
巴扎黑Original
2017-08-13 14:45:421380Durchsuche

Dieser Artikel stellt hauptsächlich eine detaillierte Erklärung von JavaScript zur zufälligen Generierung von Ereignissen basierend auf der Wahrscheinlichkeit vor, die einen bestimmten Referenzwert hat. Interessierte Freunde können darauf verweisen

Ich habe kürzlich ein JavaScript zur zufälligen Generierung von Ereignissen basierend auf der Wahrscheinlichkeit erstellt , also habe ich meine Gedanken sortiert und eine kleine Demo geschrieben:


/*
*在抽奖的活动中经常会用到这个算法,不同奖项的获取概率不同,要按概率去随机生成对应的奖品
*
*/
function random(arr1, arr2) {
  var sum = 0,
    factor = 0,
    random = Math.random();

  for(var i = arr2.length - 1; i >= 0; i--) {
    sum += arr2[i]; // 统计概率总和
  };
  random *= sum; // 生成概率随机数
  for(var i = arr2.length - 1; i >= 0; i--) {
    factor += arr2[i];
    if(random <= factor) 
     return arr1[i];
  };
  return null;
};

// test
var a = [&#39;mac&#39;, &#39;iphone&#39;, &#39;vivo&#39;, &#39;OPPO&#39;];
var b = [0.1, 0.2, 0.3, 0.4];
console.log(random(a, b));

Das obige ist der detaillierte Inhalt vonEine Erklärung der JavaScript-Implementierung der zufälligen Generierung von Ereignissen basierend auf der Wahrscheinlichkeit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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