Heim >Web-Frontend >js-Tutorial >Eine Erklärung zu zufällig generierten Ereignissen in JavaScript

Eine Erklärung zu zufällig generierten Ereignissen in JavaScript

巴扎黑
巴扎黑Original
2017-08-06 14:30:091516Durchsuche

In diesem Artikel wird hauptsächlich eine detaillierte Erklärung von JavaScript zur zufälligen Generierung von Ereignissen basierend auf der Wahrscheinlichkeit vorgestellt, die einen bestimmten Referenzwert hat.

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 zu zufällig generierten Ereignissen in JavaScript. 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