Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    234

    Convertire variabile in stringa

    Ciao a tutti,
    dovrei trasformare una variabile in stringa per poi passarla in un array e scegliere un valore random..

    Ho provato così ma sbaglio il passaggio della variabile in stringa..

    codice:
    var list = (videoID + ",");
    
    listVideo = new String("'+list+'")
    videoArray = listVideo.split(",")
    	
    var randomVideo = videoArray[Math.floor(Math.random() * videoArray.length)];
    Grazie in anticipo

    Protooler

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660


    list è già una stringa

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    234
    Ciao Vindav,
    si è quello che pensavo anche io..ma non riesco a capire come pescare un valore random da qulla lista di valori separati da ,

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    La parte per recuperare un valore random è corretta, è quello che sta prima che non è chiaro, dovrebbe esserci un ciclo per valorizzare la lista di id

    codice:
    //ciclo 
    var list += (videoID + ","); <-- videoID corrente
    //fine ciclo
    
    
    videoArray = list.split(",")
    var randomVideo = videoArray[Math.floor(Math.random() * videoArray.length)];

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    234
    e si, è proprio quello che non riesco a fare

    la var
    list = (videoID + ",");
    mi restituisce una stringa come questa:

    132841,54984151,9874511,88789484,8979811,5656532,4 5454574

    da questa stringa vorrei pescare uno di questi valori..

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    beh se ti restituisce quella stringa allora è tutto corretto, non capisco perche dici che non funziona... vedi qualche errore nella console js?

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    234
    ho provato così, non mi da errori ma mi randomVideo mi restituisce un valore singolo..
    es 5 oppure 8..
    invece che l'intero valore compreso tra le virgole..

    codice:
    var list = (videoID + ",");
    var randomVideo = list[Math.floor(Math.random() * list.length)];

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    fai questa prova:

    codice:
    var listVideo = "132841,54984151,9874511,88789484,8979811,5656532,45454574";
    videoArray = listVideo.split(",")
    var randomVideo = videoArray[Math.floor(Math.random() * videoArray.length)];
    alert(randomVideo);
    poi prova cosi:

    codice:
    var listVideo =  (videoID + ",");
    videoArray = listVideo.split(",")
    var randomVideo = videoArray[Math.floor(Math.random() * videoArray.length)];
    alert(randomVideo);
    Il risultato deve essere lo stesso, se non è cosi significa che listVideo non è valorizzato correttamente

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    234
    FUNZIONA!

    il problema è che me li visualizza in sequenza ad ogni alert e a volte passa un valore vuoto..

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    non so che dirti il codice è corretto, l'ho provato... non li visualizza in sequenza ma random e non vedo nessun valore vuoto/nullo. Come ti ho detto prima è possibile che la lista di video non sia formattata in modo corretto... magari con una virgola alla fine

    p.s. anche nel primo esempio li vedi in sequenza? ne sei proprio sicuro?

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.