【发布时间】:2018-08-06 12:46:59
【问题描述】:
我有一个对象数组,我想按照以下两条规则对它们进行排序(按优先级排序):
“departeYet”属性为真的对象必须在开头 然后必须按数字顺序(“数字”属性)对对象进行排序
这样就好了:
- 真:005
- 真:007
- 真:027
- 假:009
- 假:020
这是我们感兴趣的对象部分的结构:
var notSortedData = {
number: number, // it's a string
departedYet: scheduled_date, // true or false
}
sortedTrains.push(notSortedData);
因此,notSortedData 通过 for 循环被推入 sortedTrains。
然后,我需要对其进行排序:
sortedTrains.sort(function(a, b) {
// sorting algorithm here
});
我该怎么办?谢谢。
【问题讨论】:
-
我不相信您了解
sort函数的工作原理以及它的参数函数应该返回什么。请参阅docs。简短的回答:你不需要实现一个排序算法,你只需要一个compare函数。 -
只需排序两次,首先按数字,然后按布尔值。
-
@ PM 77-1,Jonathan Gray 找到了一种对其进行排序的方法。
标签: javascript jquery sorting