Filtro in ordine decrescente per data in AngularJs

Quindi il libro proviene da api di rest e ha molti lettori collegati. Voglio ottenere il lettore ‘recente’.

Il campo created_at ha il valore che identifica l’utente come recente. Ma il codice sopra mi dà il lettore più vecchio. Quindi l’ordine deve essere invertito? C’è un modo per avere l’ordinamento in ordine decrescente?

    Secondo la documentazione è ansible utilizzare l’argomento reverse .

     filter:orderBy(array, expression[, reverse]); 

    Cambia il tuo filtro su:

     orderBy: 'created_at':true 

    Puoi anteporre l’argomento in orderBy con un ‘-‘ per avere un ordine decrescente invece di ascendere. Lo scriverei così:

     

    Questo è anche indicato nella documentazione per il filtro orderBy .

    Forse questo può essere utile per qualcuno:

    Nel mio caso, stavo ottenendo una serie di oggetti, ciascuno contenente una data impostata da Mongoose.

    Ero solito:

     ng-repeat="comment in post.comments | orderBy : sortComment : true" 

    E ha definito la funzione:

     $scope.sortComment = function(comment) { var date = new Date(comment.created); return date; }; 

    Questo ha funzionato per me.

    E un esempio di codice:

     
    • {{item.num}} :: {{item.desc}}

    E il JavaScript:

     function FooController($scope) { $scope.items = [ {desc: 'a', num: 1}, {desc: 'b', num: 2}, {desc: 'c', num: 3}, ]; } 

    Ti darò:

     3 :: c 2 :: b 1 :: a 

    Su JSFiddle: http://jsfiddle.net/agjqN/

    Decrescente Ordina per data

    Aiuterà a filtrare i record con data in ordine decrescente.

     $scope.logData = [ { event: 'Payment', created_at: '04/05/17 6:47 PM PST' }, { event: 'Payment', created_at: '04/06/17 12:47 AM PST' }, { event: 'Payment', created_at: '04/05/17 1:50 PM PST' } ]; 
    {{logs.event}}

    Nel mio caso, l’ordine è determinato da una casella di selezione. Preferisco la risposta di Ludwig perché puoi impostare la direzione di ordinamento nelle opzioni di selezione come tali:

      $scope.options = [ { label: 'Title', value: 'title' }, { label: 'Newest', value: '-publish_date' }, { label: 'Featured', value: '-featured' } ]; 

    markup:

      

    vedere gli esempi di w3schools: https://www.w3schools.com/angular/angular_filters.asp https://www.w3schools.com/angular/tryit.asp?filename=try_ng_filters_orderby_click

    quindi aggiungi il flag “reverse”:

     < !DOCTYPE html>    

    Click the table headers to change the sorting order:

    Name Country
    {{x.name}} {{x.country}}