首页 > 解决方案 > 如何创建包含非重复数字的数组?

问题描述

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

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

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

问题是这样可能会有重复的数字。有人可以帮助我吗?提前致谢。

标签: javascriptarraysrandomnumbers

解决方案


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

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


result = [...numbers];

console.log(...result);


推荐阅读