JSFiddle - React, Tailwind, and code Playground
HTML
<table id="tabella"></table>
JavaScript
// Dichiaro funzione rand() che si occuperà di generare i numeri casuali
function rand(s, e) {
// Piccola formula matematica per generare numeri casuali comprsi tra s ed e
return Math.floor(Math.random() * e) + s;
}
// Funzione per controllare se il numero generato è nell'array contenente i numeri della ruota.
// string = numero da controllare
// array = array contenente i numeri
// except = posizione da non controllare
function in_array(string, array, except) {
var i = array.length;
while (i--) {
if (array[i] === string && i != except) {
return true;
}
}
return false;
}
// Inizializzo le due variabili che useremo
var count = 0; // Contatore delle ruote generate
var html = ""; // Contenuto HTML generato
var fine = 10; // Numero di ruote da generare
// Array contenente il nome delle ruote
var ruote = new Array("1", "2", "Milano", "Cagliari", "Palermo", "Atlantide", "Eldorado", "Paperopoli", "Topolinia", "Springfield", "Monza");
// Eseguo un ciclo che si interromperà quando si sarà raggiunto il numero assegnato a fine
for (count = 0; count <= fine; count++) {
var numbers = new Array();
// Apro la riga della tabella ed indico il nome della ruota prelevandolo dall'array ruote
html += "<tr><td>Ruota " + ruote[count] + "</td>";
// Genero 10 numeri casuali....
for (c = 0; c < 10; c++) {
// Esegue una volta la generazione del numero casuale, nel caso non sia presente nella ruota attuale, lo prendo per buono
// altrimenti ne genero uno nuovo sino a quando non ne trovo uno valido
do {
var number = rand(1, 90);
numbers[c] = number;
}
while(in_array(number, numbers, c))
// ...che inserisco nell'HTML formattati adeguatamente
html += "<td>" + number + "</td>";
}
// Chiudo la riga della tabella
html += "</tr>";
}
// Inserisco dentro a #tabella il contenuto HTML...