const quantidade = 6, minimo = 1, maximo = 60;
// só precisa criar todos os números uma vez, pois nas vezes seguintes o array será sempre re-embaralhado
const todos = [];
for (let i = minimo; i <= maximo; i++) {
todos.push(i);
}
const numeros = [];
while (numeros.length < quantidade) {
const n = Math.floor(Math.random() * (maximo - minimo + 1)) + minimo;
if (!numeros.includes(n)) {
numeros.push(n);
}
} const numeros = new Set();
while (numeros.size < quantidade) {
const n = Math.floor(Math.random() * (maximo - minimo + 1)) + minimo;
numeros.add(n); // não precisa testar se o número já existe: caso exista, o set não adiciona
} for (let i = 0; i < quantidade; i++) {
const j = Math.floor(Math.random() * todos.length);
const tmp = todos[j];
todos[j] = todos[i];
todos[i] = tmp;
}
const result = todos.slice(0, quantidade);