2011-11-02 11 views
5

Ho una semplice funzione di confronto su una raccolta Backbone.js.Funzione comparatore di Backbone.js, come posso implementare l'ordine decrescente?

comparator: function (topic) { 
     return topic.get('lastReply'); 
    }, 

Questo è il campo corretto da ordinare. È un campo di date. Mi piacerebbe che fosse ordinato in ordine decrescente. C'è un modo semplice per invertire l'ordine? Forse dovrei abbandonare questa funzione e ordinare la raccolta prima di renderla? Qualsiasi idea o suggerimento è ovviamente apprezzato. Ringrazia tutti.

risposta

13

Se si tratta di un campo di JavaScript "Data", si potrebbe fare questo:

comparator: function(topic) { 
    return - topic.get('lastReply').getTime(); 
} 

Sarebbe ritorno il negativo del timestamp, in modo che i timestamp più recenti (numeri più grandi) sarebbero arrivati ​​prima di quelli più vecchi.

Per un campo con valori stringa questo sarebbe difficile; avresti bisogno di fare qualcosa come "invertire" la stringa carattere per carattere, o qualcosa del genere.

+0

funziona correttamente nello scenario in cui si desidera visualizzare gli utenti attivi (stato = 1) prima e gli utenti inattivi (stato = 0) separatamente dopo l'ordinamento. –

Problemi correlati