Javascript 不等权随机抽奖

Javascript 不等权随机抽奖,javascript,Javascript,我有一张100人的名单。每个人都买了不同数量的票。数据以json的形式传递给我。所以就像“约翰·史密斯100张票,简·多伊55张票,等等。”我需要随机选择100张中奖票,给每张票相同的被选中概率。我已经知道如何使用fisher-Yates shuffle,我只是无法将数据解组以给每个持票人相同的机会。我需要创建55张Jane票和100张john票,等等,然后将它们洗牌,只选择前100张。 感谢您的指导。不要对人员列表进行洗牌,而是为每个人创建一个数组,每个人都有一个元素,然后从该数组中洗牌并抽取

我有一张100人的名单。每个人都买了不同数量的票。数据以json的形式传递给我。所以就像“约翰·史密斯100张票,简·多伊55张票,等等。”我需要随机选择100张中奖票,给每张票相同的被选中概率。我已经知道如何使用fisher-Yates shuffle,我只是无法将数据解组以给每个持票人相同的机会。我需要创建55张Jane票和100张john票,等等,然后将它们洗牌,只选择前100张。
感谢您的指导。

不要对人员列表进行洗牌,而是为每个人创建一个数组,每个人都有一个元素,然后从该数组中洗牌并抽取

因此,不是:

['John Smith', 'Jane Doe', ...]
你应该:

['John Smith', 'John Smith', 'John Smith', ..., 'Jane Doe', 'Jane Doe', ...]

当然,内存效率更高的方法还有很多,但这只是一个开始。

不要洗牌名单,而是为每个人创建一个数组,每个人拥有一张票,每个人有一个元素,然后洗牌并从该数组中抽取

因此,不是:

['John Smith', 'Jane Doe', ...]
你应该:

['John Smith', 'John Smith', 'John Smith', ..., 'Jane Doe', 'Jane Doe', ...]

当然,还有更节省内存的方法,但这只是一个开始。

请发布一些您尝试过的和不起作用的示例代码。我有fisher-Yates部分来洗牌数据。我只是没有如何用100张票来制作100张John Doe卡和55张Jane Doe卡并洗牌的示例。必须有一种简单的方法来实现这一点,我想不起来使用我的googlefu的正确措辞。请发布一些你尝试过的和不起作用的示例代码。我有fisher-Yates部分来洗牌数据。我只是没有关于如何用100张票制作100张John Doe卡和55张Jane Doe卡并洗牌的示例。我只是想有一个简单的方法来做到这一点想不出正确的措辞来使用我的googlefu。你有什么样的代码来做这件事吗?根据JSON中的数量值在数组中生成100个项目。这就是我希望去的地方。感谢您的回复。这是JavaScript的基本任务。我不会用勺子把答案喂给你;你自己试一试。对循环使用
。没问题。我可以从这里用谷歌搜索。我对编码是新手,对这个问题很感兴趣。谢谢。你有如何做这件事的示例代码吗?根据JSON中的数量值在数组中生成100个项目。这就是我希望去的地方。感谢您的回复。这是JavaScript的基本任务。我不会用勺子把答案喂给你;你自己试一试。对
循环使用
。没问题。我可以从这里用谷歌搜索。我对编码是新手,对这个问题很感兴趣。谢谢