按日期排序JSON

时间:2010-10-04 21:22:42

标签: javascript jquery json

我知道这必须相对简单,但我有一个JSON数据集,我希望按日期排序。到目前为止,我每次都遇到问题。 现在我将日期存储为this.lastUpdated。 如果有帮助我可以访问jquery,但我意识到.sort()是本机JS。 提前谢谢。

1 个答案:

答案 0 :(得分:35)

假设您有一个javascript对象数组,只需使用自定义排序函数:

function custom_sort(a, b) {
    return new Date(a.lastUpdated).getTime() - new Date(b.lastUpdated).getTime();
}
var your_array = [
    {lastUpdated: "2010/01/01"},
    {lastUpdated: "2009/01/01"},
    {lastUpdated: "2010/07/01"}
];

your_array.sort(custom_sort);

Array sort方法使用回调函数对数组进行排序,该回调函数传递数组中的元素对。

  • 如果返回值为负数,则第一个参数(本例中为a)将位于排序数组中的第二个参数(b)之前。
  • 如果返回值为零,则它们相对于彼此的位置保持不变。
  • 如果返回的值为正,则b位于排序数组中的a之前。

您可以使用sort方法here了解更多信息。