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:
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:
guarda, se i valori doppi o tripli sono alla fine puoi usare questo metodo:
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 aiutarticodice: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);![]()
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![]()