首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >按具有日期值的单个键对对象数组进行排序

按具有日期值的单个键对对象数组进行排序
EN

Stack Overflow用户
提问于 2012-01-12 23:20:08
回答 13查看 412K关注 0票数 327

我有一个对象数组,其中有几个键值对,我需要根据‘updated_at’对它们进行排序:

代码语言:javascript
复制
[
    {
        "updated_at" : "2012-01-01T06:25:24Z",
        "foo" : "bar"
    },
    {
        "updated_at" : "2012-01-09T11:25:13Z",
        "foo" : "bar"
    },
    {
        "updated_at" : "2012-01-05T04:13:24Z",
        "foo" : "bar"
    }
]

最有效的方法是什么?

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2012-01-12 23:23:30

您可以使用Array.sort

下面是一个例子:

代码语言:javascript
复制
var arr = [{
    "updated_at": "2012-01-01T06:25:24Z",
    "foo": "bar"
  },
  {
    "updated_at": "2012-01-09T11:25:13Z",
    "foo": "bar"
  },
  {
    "updated_at": "2012-01-05T04:13:24Z",
    "foo": "bar"
  }
]

arr.sort(function(a, b) {
  var keyA = new Date(a.updated_at),
    keyB = new Date(b.updated_at);
  // Compare the 2 dates
  if (keyA < keyB) return -1;
  if (keyA > keyB) return 1;
  return 0;
});

console.log(arr);

票数 428
EN

Stack Overflow用户

发布于 2012-01-12 23:23:04

我已经在这里回答了一个非常类似的问题:Simple function to sort an array of objects

对于这个问题,我创建了这个小函数,它可能会执行您想要的操作:

代码语言:javascript
复制
function sortByKey(array, key) {
    return array.sort(function(a, b) {
        var x = a[key]; var y = b[key];
        return ((x < y) ? -1 : ((x > y) ? 1 : 0));
    });
}
票数 180
EN

Stack Overflow用户

发布于 2013-01-23 00:36:08

这是一个略微修改的@David Brainer-Bankers answer版本,它按字符串的字母顺序或数字的数字顺序进行排序,并确保以大写字母开头的单词不会排在以小写字母开头的单词之上(例如,"apple,Early“将按该顺序显示)。

代码语言:javascript
复制
function sortByKey(array, key) {
    return array.sort(function(a, b) {
        var x = a[key];
        var y = b[key];

        if (typeof x == "string")
        {
            x = (""+x).toLowerCase(); 
        }
        if (typeof y == "string")
        {
            y = (""+y).toLowerCase();
        }

        return ((x < y) ? -1 : ((x > y) ? 1 : 0));
    });
}
票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8837454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档