Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259

    array di oggetti da ordinare

    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:

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ordinare alfabeticamente?
    metodo sort()?

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    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)


  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    633
    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:
    codice:
    function sorting(a, b){
       return a.prop - b.prop;
    }
    
    tuoArray.sort(sorting);
    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).

    per maggiori info

    ciauz
    Alcuni miei articoli in PRO.HTML.IT: JavaScript | DHTML | DOM
    Sviluppo : wedev | forum

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    chiaro :-)

    ora ci provo


    grazie mille ragazzi

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.