Maison > interface Web > js tutoriel > 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é

巴扎黑
Libérer: 2017-08-13 14:45:42
original
1419 Les gens l'ont consulté

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));
Copier après la connexion

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