pensate di avere un array di oggetti (nel mio caso sono Option)
lista=new Array(primo,secondo,ecc...)
io vorrei ordinare questo array in base ad una specifica proprieta (nel mio caso text)...
nn mi viene in mente come fare... :master:
pensate di avere un array di oggetti (nel mio caso sono Option)
lista=new Array(primo,secondo,ecc...)
io vorrei ordinare questo array in base ad una specifica proprieta (nel mio caso text)...
nn mi viene in mente come fare... :master:
Originariamente inviato da Xinod
ordinare alfabeticamente?
metodo sort()?
ehehe... magari![]()
essendo oggetti, non sa da che parte prenderli...
se faccio un array
0=new Option('a','a')
1=new Option('b','b')
2=new Option('c','c')
se faccio alert mi viene
a - b - c
se faccio sort viene
c - b - a
prima di rivedere lo script vorrei sapere se proprio non si può ordinare in base a una proprieta (value o text che sia)
![]()
come dice Xinod, usa il metodo sort.
Basta che passi al metodo un puntatore ad una funzione fatta apposta per il tuo sorting (un predicato binario), cioè una funzione che prende 2 argomenti e restituisce un booleano.
I due argomenti rapresentano due generici elementi del tuo array.
A questo punto ti basta confrontare le proprietà che ti interressano dei tuoi elementi, ad esempio:
L'alternativa al sort è crearti il tuo proprio algoritmo di ordinamento (sicuramente, se fatto bene, è più efficiente di sort...che forse implementa un bubble-sort...ma sto tirando a caso).codice:function sorting(a, b){ return a.prop - b.prop; } tuoArray.sort(sorting);
per maggiori info
ciauz
chiaro :-)
ora ci provo
grazie mille ragazzi