Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    frasi casuali non ripetute

    Salve a tutti, sto facendo uno script che mi seleziona da un array (di frasi), tre frasi a caso, da mettere in tre tabelle, ma vorrei che queste non siano le stesse, ovvero che non vi sia un numero casuale doppio.

    ho provato a fare questo piccolo script, ma ci sono errori, ed è incompleto:
    codice:
    vstA = new Array();
    vstA [0] = "frase uno";
    vstA [1] = "mia frase due";
    vstA [2] = "terza frase";
    vstA [n] = "Enne frase";
    
    //scegli per 3 volte un numero
    	for(i=0; i<3; i++){
    		var val[i] = Math.floor(Math.random()*vstA.length); 
    
    // se questo numero è quello precedente 
    if (val[i] = (xNum)){
    
    //ripesca un altro numero 
    i = i--
    }{else
    
    //metto in una variabile una coda di numeri già pescati da usare nell'if
    xNum = xNum + " or "+val[i]
    
    // ti dico il numero pescato
    		alert("numero = "+val[i])
    }
    		}
    purtoppo il codice non è giusto in quanto val[i] costituisce un errore, e non sapendo come andare avanti ho continuato con la mia fantasia.

    potete aiutarmi a compilare almeno un pezzetto???

    grazie, ciao.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    codice:
    <script>
    vstA = new Array("frase uno","mia frase due","terza frase","Enne frase");
    var val = new Array(2);
    for (var i=0; i<3; i++)
    {
    	var k = Math.floor(Math.random()*vstA.length);
    	val[i] = vstA[k]; 
    	alert(val[i]); // per testare
    	vstA.pop(k);
    }
    </script>
    ciao
    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

  3. #3
    mi da:

    missing ; before statement
    [Break on this error] var val[i] = vstA[k] ; \n
    :master:

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da DarioMarco
    mi da:

    missing ; before statement
    [Break on this error] var val[i] = vstA[k] ; \n
    :master:
    posta tutto lo script come l'hai copiato/adattato

    ciao
    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

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Nello script di bruno, manca il var
    var vstA = new Array("frase uno","mia frase due","terza frase","Enne frase");
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    codice:
    vstA = new Array();
    vstA [0] = "frase uno";
    vstA [1] = "mia frase due";
    vstA [2] = "terza frase";
    
    
    var val = new Array(2);
    
    	for(var i=0; i<3; i++){
    		var k = Math.floor(Math.random()*vstA.length);
    		var val[i] = vstA[k] ; 
    		alert("numero = "+val[i]);
    		vstA.pop(k);
    		}

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    @DarioMarco L'ultimo intervento cosa significa?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Originariamente inviato da br1
    posta tutto lo script come l'hai copiato/adattato

    ciao
    perdonami, c'è stato un qui pro quo, dovevo quotare prima, cmq ho postato il codice adattato (non funzionante) come mi aveva chiesto br1


  9. #9
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da DarioMarco
    codice:
    vstA = new Array();
    vstA [0] = "frase uno";
    vstA [1] = "mia frase due";
    vstA [2] = "terza frase";
    
    
    var val = new Array(2);
    
    	for(var i=0; i<3; i++){
    		var k = Math.floor(Math.random()*vstA.length);
    		var val[i] = vstA[k] ; 
    		alert("numero = "+val[i]);
    		vstA.pop(k);
    		}
    Io quel var non l'ho messo...

    ciao
    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

  10. #10
    Ok, adesso funziona! Solo che ci sono alcune cose che non ho capito:

    qui viene creato un nuovo array dove vengono messe le frasi scelte?
    codice:
    var val = new Array(2);
    ...
    var val[i] = vstA[k] ;
    qui viene eliminato l'elemento selezionato dall'array?
    codice:
    		vstA.pop(k);
    A dire il vero a me seleziona più volte la stessa frase, se il ragionamento è quello che ho pensato io sopra, lo script non dovrebbe fallire

    dove sbaglio???

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.