Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    100

    [AS 2] Eliminare un elemento da un Array

    Salve a tutti,
    vi spiego il mio problema che mi sembra stupido ma non conoscendo bene la programmazione mi sta complicando la vita:
    io ho creato un array di parole, quindi stringhe, dopo ho selezionato in maniera random una di queste parole e l'ho associata ad una variabile in modo che compaia su una casella di testo dinamico sullo stage
    posso in qualche modo fare si che questo elemento che ho selezionato venga anche rimosso definitivamente dall'array, in moso che se rifaccio l'operazione successivamente non c'è la possibilità che ripeschi la stessa parola di prima?

    Grazie

  2. #2
    Array.splice o Array.slice, non ricordo bene, la prima forse, trovi tutto documentato nella guida di Flash

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    100
    in realtà avevo letto la guida ma speravo che esistesse un modo più comodo che facesse riferimento direttamente al contenuto dell'elemento, quindi alla stringa, piuttosto che all'indice di posizione dell'elemento che ho selezionato a caso...
    cmq facendo un passo in più ci sono riuscito utillizando array.splice(indice, 1)

  4. #4
    ciao, scusami, siccome vorrei fare una cosa simile ma nn so assolutamente come si usano gli array, mi diresti come hai fatto ad associare ad una variabile una stringa casuale dell'array??
    e come hai fatto alla fine ad eliminarla dalla lista?!?
    grazie

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    100
    io ho fatto e faccio così, ma potrebbe esistere un modo migliore che non conosco non essendo molto esperto, soprattutto per la formulazione della funzione math random...

    nomevariabile = nomearray[Math.floor(Math.random()*(nomearray.length - 1))]

    così dovrebbe funzionare l'unico problema è che per quanto sia una funzione random, per quello che sono riuscito a capire, non tutti gli elementi dell'array hanno la stessa probabilità di essere scelti.
    La funzione Math.random crea infatti un numero casuale compreso tra 0 e 1.
    Moltiplicando quest valore casuale per il numero degli elementi dell'array - 1 (considerando che il primo elemento ha indice 0),l'ultimo elemento verrebbe scelto solo in un possibile caso, ovvero quando la funzione Math.random crea come numero l'1...
    non so se mi sono spiegato ma credo funzioni così'...


  6. #6
    ok, ok, funziona, ma nn capisco xkè scrivi (-1), teoricamente il math.floor serve x arrotondare x difetto, il ke significa ke quando sceglie il numero 1 ti darà sempre 0, e quindi la prima posizione dell'array, nn so se mi sono spiegata, cmq ho provato e la prima posizione la sceglie cmq!!

    e poi come hai fatto a fare in modo ke la posizione scelta venga eliminata dall'array??!

    grazie ancora!

  7. #7
    Utente bannato
    Registrato dal
    Jan 2009
    Messaggi
    713

    cu-cù? E' arrivato Max !!!

    mi consenta...
    Il Teorema di Max!!

    Il comando splice serve ad aggiungere o eliminare un elemento da un array come prima definizione...

    In seguito vogliamo creare un sistema che elimini un elemento array a caso e di conseguenza ci mostri tutti gli altri elementi rimasti.

    Personalmente la funzione random la farei in una casella a parte che subito dopo venga ripescata dalla funzione splice...

    Ho preparato 2 esempi per spiegare bene la funzione splice per:

    - eliminare un elemento da un array
    - eliminare un elemento array in modo casuale

    eccovi il link di cui c'è anche il fla (file sorgente disponibile) - Flash mx 7.2 AS 2.0
    http://max400.forumfree.it/?t=47177223#lastpost

    Onorevoli... un bel inchino per voi!

    au revoir
    by max
    Immagini allegate Immagini allegate

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.