Maison  >  Article  >  interface Web  >  Une explication de l'implémentation par JavaScript de la génération aléatoire d'événements basés sur la probabilité

Une explication de l'implémentation par JavaScript de la génération aléatoire d'événements basés sur la probabilité

巴扎黑
巴扎黑original
2017-08-13 14:45:421308parcourir

Cet article présente principalement une explication détaillée de JavaScript pour générer aléatoirement des événements basés sur la probabilité, qui a une certaine valeur de référence. Les amis intéressés peuvent s'y référer

J'ai récemment créé un JavaScript pour générer aléatoirement des événements basés sur la probabilité. , alors j'ai fait le tri dans mes pensées et écrit une petite démo :


/*
*在抽奖的活动中经常会用到这个算法,不同奖项的获取概率不同,要按概率去随机生成对应的奖品
*
*/
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));

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!

Déclaration:
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