如何创建一个包含非重复数字的数组?

Ema*_*sta 0 javascript arrays random numbers

这是我在这里的第一个问题。

我需要生成一个包含 16 个随机数的数组,这就是我的解决方案:

var arr = [];
for (var i = 0; i < 16; i++) {
    arr.push(Math.floor(Math.random() * 100) + 1);
}
Run Code Online (Sandbox Code Playgroud)

问题是,这种方式可能会出现重复的数字。有人可以帮助我吗?提前致谢。

Nin*_*olz 6

最短的方法是使用 aSet并检查size它的需要。

let numbers = new Set,
    result;
    
while (numbers.size < 16) numbers.add(Math.floor(Math.random() * 100) + 1);


result = [...numbers];

console.log(...result);
Run Code Online (Sandbox Code Playgroud)