我有这些对象:

var obj1 = {
  endDateInMs : 125000001
};

var obj2 = {
  endDateInMs: 125000000
};

var obj3 = {
  endDateInMs: 125000002
};


以及包含这些对象的数组:

var array1 = [obj1, obj2, obj3];


我想按对象的日期对array1进行排序。我希望在数组末尾有更新的第一个和最早的。

我执行以下操作,但不起作用:

function compare(a,b) {
                    if (a.endDateInMs < b.endDateInMs) {
                        return -1;
                    }
                    else if (a.endDateInMs > b.endDateInMs) {
                        return 1;
                    }
                }

var arrayOfHistoryForThisItem = wall_card_array[item];

                    var newArraySorted = arrayOfHistoryForThisItem.sort(compare);
                    var lastElement = newArraySorted[0];

最佳答案

不会只是

array1.sort(function(a, b) {
    return b.endDateInMs - a.endDateInMs;
});


FIDDLE

09-30 16:02