Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript NativeScript中的排序列表视图_Javascript_Nativescript - Fatal编程技术网

Javascript NativeScript中的排序列表视图

Javascript NativeScript中的排序列表视图,javascript,nativescript,Javascript,Nativescript,如何从最早到最晚对NativeScript中的数组进行排序 我的代码: import observableArray = require("data/observable-array"); var orderListRaw = new observableArray.ObservableArray([]); var orderList = orderListRaw.sort((a:number, b:number) => {return a - b;}); function

如何从最早到最晚对NativeScript中的数组进行排序

我的代码:

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);
        });
    };
结果是,我的数组仍然从早到晚排序。 非常感谢

试试这个:

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

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

您可以使用比较函数对ObsevableArray进行排序,但应在数组中推送一些实际值之后使用它们:

    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;
    });

您可以使用比较函数对ObsevableArray进行排序,但应在数组中推送一些实际值之后使用它们:

    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;
    });

你想按createdAt的顺序对数组进行排序,是吗?你想按createdAt的顺序对数组进行排序,是吗?