Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Ciclo For su array

  1. #1

    Ciclo For su array

    Ho provato a fare una funzione che esegua delle operazioni su un array di oggetti, vorrei che l'elemento scelto nel' array sia casuale e non venga scelto più di una volta lo stesso elemento. Ho provato a fare in questo modo:
    codice:
    function mescolaBene(objCarte){
        var carte = objCarte; // Arrey uguale al arrei delle carte 
        var posizioni = []; // Arrey di appoggio per selezione casuale delle carte
        var testCont = 0;
        // Riempie arrei con numeri da 0 a length di carte(0-39)
        for (x=0; x<carte.length; x++){
            posizioni.push(x);
        }
        alert(posizioni);
        for(x=0; x<carte.length; x++){ // l'operazione viene eseguita per ogni carta
            var scelta = Math.floor(Math.random()*posizioni.length);
            scelta = posizioni[scelta];
            posizioni.splice(scelta,1);
            testCont ++;
            alert("Lunghezza posizioni = " + posizioni.length + "\nScelta = " + scelta);
        }// Fine ciclo For
        alert("posizioni= " + posizioni + "\n cont= " + testCont);    
    }
    Alla fine del ciclo l' array posizioni dovrebbe essere vuoto e la funzione avrebbe dovuto ciclare in tutti gli elementi.
    Non riesco a capire dove sto sbagliando
    un uomo senza panza e come un cielo senza stelle ...mio tris ...

  2. #2
    Ho messo l'esempio su Editfiddle, portate pazienza per i vari alert ma mi sono serviti per capire cosa succede
    esempio
    un uomo senza panza e come un cielo senza stelle ...mio tris ...

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Perdona, ma arrey e arrei non si possono proprio leggere

    Che poi in ultima istanza l'hai pure azzeccato...
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  4. #4
    Quote Originariamente inviata da br1 Visualizza il messaggio
    Perdona, ma arrey e arrei non si possono proprio leggere

    Che poi in ultima istanza l'hai pure azzeccato...
    magari sbagliassi solo a scriverne il nome
    un uomo senza panza e come un cielo senza stelle ...mio tris ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.