2016-08-14 5 views
0

Wie sortiere ich Array in NativeScript von frühestens nach spät?ListView in NativeScript sortieren

Mein Code:

import observableArray = require("data/observable-array"); 
var orderListRaw = new observableArray.ObservableArray([]); 
var orderList = orderListRaw.sort((a:number, b:number) => {return a - b;}); 

     function news(args) { 
     fetch('https://testapi.local/', { 
     method: 'GET', 
     }).then(response => { 
     return response.json(); 
     }).then(function(r) { 
      var res = r.results; 
      orderList.length = 0 
      console.log(JSON.stringify(res)); 
      for (var i = 0; i < res.length; i++) { 
      var order = { 
       createdAt: res[i].createdAt, 
       title: res[i].title, 
       desc: res[i].desc, 
       image: res[i].image.url 
      } 
      orderList.push(order); 
      } 
     }, 
     function(e) { 
     console.log(e); 
     }); 
    }; 

Das Ergebnis ist, meine Array noch Art in frühestens letzte. Vielen Dank

+0

so Sie möchten das Array in der Reihenfolge 'createdAt' sortieren, oder? –

Antwort

4

Sie Funktionen vergleichen können zu sortieren ObsevableArray aber Sie sollten sie verwenden, nachdem die Anordnung einige Istwerten gedrückt und von dort hat:

orderList.sort(function (orderA, orderB) { 
     var createdAtA = orderA.createdAt; // what is createdAt!? probably normilize it for comparision 
     var createdAtB = orderB.createdAt; 
     return (createdAtA < createdAtB) ? -1 : (createdAtA > createdAtB) ? 1 : 0; 
    }); 
1

Versuchen Sie folgendes:

var moment = require("moment"); 
orderList.sort((left: any, right: any) => { 
    return moment(left.createdAt).isBefore(right.createdAt) ? -1 : 1; 
}); 
Verwandte Themen