gpt4 book ai didi

javascript - 如何在 ES6 中生成不重复数字的数组?

转载 作者:行者123 更新时间:2023-12-04 02:26:13 26 4
gpt4 key购买 nike

我正在尝试在 ES6 中生成随机数数组 - 数字不应重复。

目前,我的函数生成一个随机数数组,但它们在重复:

winArray = [...Array(6)].map(() => Math.floor(Math.random() * 53));

这是我发现的非 ES6 解决方案: Non-ES6 solution

这个带有 Set 的解决方案没有在 for 循环中运行:

for (let i = 1; i <= draws; i += 1) {
// Generating a random array of 6 number

const winArray = new Set();
while (winArray.size < 6) winArray.add(Math.floor(Math.random() * 53));
}

最佳答案

你可以拿一个Set并填充此集合直到所需的大小。

var numbers = new Set;

while (numbers.size < 6) numbers.add(Math.floor(Math.random() * 53));

console.log(...numbers);

为了获得更多的数字集,您可以为每次抽取一个空集。

var numbers,
draws = 5,
i;

for (i = 0; i < draws; i++) {
numbers = new Set;
while (numbers.size < 6) numbers.add(Math.floor(Math.random() * 53));

console.log(...numbers);
}

关于javascript - 如何在 ES6 中生成不重复数字的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55262805/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com