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