2011-11-02 7 views
5

Tengo una función de comparación simple en una colección Backbone.js.Función del comparador Backbone.js, ¿cómo puedo implementar el orden descendente?

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

Este es el campo correcto para ordenar. Es un campo de fecha. Me gustaría que esté ordenado en orden desc. ¿Hay alguna manera fácil de invertir el orden? ¿Quizás debería abandonar esta función y simplemente ordenar la colección antes de renderizarla? Por supuesto, cualquier idea o sugerencia es apreciada. Gracias a todos.

Respuesta

13

Si se trata de un campo de JavaScript "fecha", usted puede hacer esto:

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

Eso sería volver al negativo de la marca de tiempo, por lo que las nuevas marcas de tiempo (números más grandes) vendrían antes de los mayores.

Para un campo de valor de cadena esto sería complicado; tendrías que hacer algo como "invertir" la cadena carácter por personaje, o algo así.

+0

esto funciona bien en el escenario en el que desea mostrar los usuarios activos (estado = 1) primero y los usuarios inactivos (estado = 0) por separado después de la clasificación. –

Cuestiones relacionadas