Ricerca valori uguali in due array

di il
1 risposte

Ricerca valori uguali in due array

Ciao. Posto il codice fatto finora per chiarezza. Non riesco a venire a capo nel tentativo di trovare numeri uguali nei due array pur facendo il confronto di ogni numero nell'array che ho chiamato arrPer rispetto all'array di numeri casuali chiamato arr. Eppure secondo la logica dovrebbe funzionare. Probabilmente è scritto male.

<html>
    <body>
    
        <div id="nums"></div>
        <input type="button" value="Elabora" onclick="verifica()"><br>
        <script src="tombola.js"></script>
        <label> Tabella banco   :  </label><div id="vis"></div>
        <label>Tabella giocatore:</label><div id="vis1"></div>
        <label>Numeri indovinati: </label><div id="vis2"></div>
    </body>
    </html>

for (let i = 1; i <= 10; i++) {
    const inputEl = document.createElement('input')
    inputEl.setAttribute('type', 'text')
    inputEl.setAttribute('size', 1)
    inputEl.setAttribute('id', `num${i}`)
    nums.appendChild(inputEl)

    if (i === 5) {
        const brEl = document.createElement('br')
        nums.appendChild(brEl)
    }
}

function verifica(){
    const nums = document.getElementById('nums')
    const arrPer=[] //array personale
    const arr=[]  //array fisso
    let numArr1=0 //visualizzazione array fisso
    let numRnd=0   //numero casuale
    let numArr2=0 //visualizzazione array personale
    
        for( i=0; i < 10; i++){   //ciclo for per popolare array numeri casuali
        numRnd=Math.floor(Math.random()*90)+1
        arr.push(numRnd)
        numArr1 +=arr[i]+" "
        vis.innerHTML = numArr1 
    }

    nums.childNodes.forEach(num => {   //ciclo for per popolare array numeri inseriti dall'utente
        ((typeof num.value !== 'undefined') && (num.value !== ''))
            ? arrPer.push(num.value)
            : null

        numArr2 = arrPer.sort()
        vis1.innerHTML = numArr2 + " "

    })
    
       for(let a=0; a < arr.length; a++){   // cicli for annidati per trovare numeri uguali nei due array
         numArr1 = arr[a] +" "
          for(let z=0; z < arrPer.length; z++){
        numArr2 =arrPer[z] +" "
            if(numArr2 == numArr1){
            vis2.innerHTML = "Hai vinto" + numArr2
            }else{
            vis2.innerHTML = "Non hai vinto" + numArr1
         }
    }
 
}  

}

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte