当前位置:主页 > javascript教程 > 详解JavaScript按概率随机生成事件

JavaScript按概率随机生成代码整理

发布:2020-02-09 12:07:53 188


为找教程的网友们整理了JavaScript相关的编程文章,网友漕鸿晖根据主题投稿了本篇教程内容,涉及到JavaScript、随机生成、详解JavaScript按概率随机生成事件相关内容,已被942网友关注,内容中涉及的知识点可以在下方直接下载获取。

详解JavaScript按概率随机生成事件

最近做了一个JavaScript按概率随机生成事件,于是整理了一下思路,写了一个小demo:

/*
*在抽奖的活动中经常会用到这个算法,不同奖项的获取概率不同,要按概率去随机生成对应的奖品
*
*/
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 = ['mac', 'iphone', 'vivo', 'OPPO'];
var b = [0.1, 0.2, 0.3, 0.4];
console.log(random(a, b));

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。


参考资料

相关文章

  • JavaScript 如何合并两个Json对象

    发布:2020-02-14

    这篇文章主要介绍了JavaScript简单实现合并两个Json对象的方法,结合实例形式分析了json对象的遍历、添加实现合并的相关操作技巧,需要的朋友可以参考下


  • JavaScript实现飘落星星特效的代码详解

    发布:2019-09-23

    这篇文章主要为大家详细介绍了基于JavaScript实现飘落星星特效,具有一定的参考价值,感兴趣的小伙伴们可以参考一下


  • 实例详解Javascript之BOM(window对象)

    发布:2020-01-08

    下面小编就为大家带来一篇Javascript之BOM(window对象)详解。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧


  • 分享JavaScript中数组及对象合并方法示例代码

    发布:2020-03-01

    这篇文章主要介绍了JavaScript中的数组合并方法和对象合并方法,通过代码的形式给大家介绍的非常详细,需要的朋友可以参考下


  • JavaScript标准对象知识点总结

    发布:2019-10-01

    这篇文章主要为大家详细介绍了JavaScript标准对象的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下


  • 详细介绍JavaScript中闭包

    发布:2020-01-28

    本文主要介绍了JavaScript中闭包的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧


  • Javascript迭代、递推、穷举、递归常用算法分享

    发布:2020-03-21

    今天小编就为大家分享一篇关于Javascript迭代、递推、穷举、递归常用算法实例讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧


  • javaScript如何获取CSS样式

    发布:2021-05-19

    大家都知道CSS样式有三种类型:行内样式、内部样式和外部样式,这篇文章主要介绍了javaScript获取CSS样式的方法(兼容各浏览器),需要的朋友可以参考下


网友讨论