Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Array - eliminare valori ripetuti

    Ciao ragazzi,

    come si fà ad eliminare i valori ripetuti in un array?

    es.

    myarray = new Array("caio","tizio","sempronio","sempronio");

    vorrei che diventasse:

    myarray = new Array("caio","tizio","sempronio");

    :master:

  2. #2
    guarda, se i valori doppi o tripli sono alla fine puoi usare questo metodo:
    codice:
    myarray = new Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "1", "2", "1");
    trace(myarray);
    s = 0;
    for (i=0; i<myarray.length; i++) {
    	for (a=0; a<myarray.length; a++) {
    		if (a != i) {
    			if (myarray[i] == myarray[a]) {
    				for (u=a; u<=myarray.length; u++) {
    					trace(myarray[a]+" "+myarray[s]);
    					myarray[a] = myarray[s];
    					s++;
    				}
    				myarray.pop();
    			}
    		}
    	}
    }
    trace(myarray);
    l'ho scritto al volo adesso, però se i valori che si ripetono sono in mezzo sto script si incasina... purtroppo as non ha array.remove(); altrimenti era fatta.. cmq dai un occhiata, magari modificandolo un po' riesci a farlo andare sempre, ora non ho altro tempo per aiutarti

  3. #3
    Scritto al volo adesso, magari può essere snellito:

    codice:
    myArray = new Array ("1", "2", "3", "4", "3", "6", "7", "2", "9", "1");
    newArray = new Array ();
    k = 0;
    trace(myArray);
    for (i=0;i<myArray.length;i++)
    {
    yet = false;
    for (j=0;j<newArray.length;j++)
    {
    if (myArray[i] == newArray[j])
    {
    yet = true;
    }
    }
    if (!yet)
    {
    newArray[k] = myArray[i];
    k++;
    }
    }
    myArray = newArray;
    trace(myArray);

    Spero d'esser stato d'aiuto, ciao

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.