【发布时间】:2013-05-02 08:07:36
【问题描述】:
var data = [{
"priority": "1",
"date": "01.03.2013",
"title": "Yeah hi"
}, {
"priority": "2",
"date": "",
"title": "Another title"
}, {
"priority": "2",
"date": "22.12.2013",
"title": "Foo"
}, {
"priority": "1",
"date": "10.04.2013",
"title": "Hey there"
}, {
"priority": "2",
"date": "15.08.2013",
"title": "Hello world"
},
...
]
我有一个多维数组,我想以复杂的方式对其进行排序。
- 按“优先级”排序 - 优先级最高的优先
- 然后按“日期”对具有相同优先级的所有项目进行排序 - 首先是今天附近的下一个日期(只有未来的日期)。如果某个项目没有日期,请将其放在最后。
- 按“标题”对具有相同日期的所有项目(以及所有没有日期的项目)排序 - 按字母顺序
第一步对 data.sort() 没有问题,但是我没有这样做的计划。该怎么做?
【问题讨论】:
-
如果我只想按优先级排序,那将是重复的。但这不是我的问题……
-
它是相同的原理 - 你编写自己的小比较函数,根据你的所有标准比较两个元素,直到它可以决定哪个“小于”另一个(或找出最终被认为是平等的)。
标签: javascript jquery sorting