我有这个 JS 数组....
[{
"Event_code": "BW-114",
"Interest_area": "Nursing and midwifery",
"Start_time": "9:00 AM",
"End_time": "3:00 PM",
"Session_type": "Tour",
"all_day_evt": true
}, {
"Event_code": "BW-087",
"Interest_area": "Information technology",
"Start_time": "9:00 AM",
"End_time": "3:00 PM",
"Session_type": "Experience",
"all_day_evt": true
}, {
"Event_code": "BW-060",
"Interest_area": "Sport",
"Start_time": "9:30 AM",
"End_time": "3:00 PM",
"Session_type": "Tour",
"all_day_evt": true
}, {
"Event_code": "BW-115",
"Interest_area": "Food, Nutrition and dietetics",
"Start_time": "9:30 AM",
"End_time": "3:00 PM",
"Session_type": "Tour",
"all_day_evt": true
}, {
"Event_code": "BW-161",
"Interest_area": "Media, Communication and creative arts",
"Start_time": "9:00 AM",
"End_time": "3:00 PM",
"Session_type": "Experience",
"all_day_evt": true
}, {
"Event_code": "BW-032",
"Interest_area": "",
"Start_time": "9:30 AM",
"End_time": "10:00 AM",
"Session_type": "General information session",
"all_day_evt": false
}, {
"Event_code": "BW-129",
"Interest_area": "Media, Communication and creative arts",
"Start_time": "2:00 PM",
"End_time": "2:30 PM",
"Session_type": "Tour",
"all_day_evt": false
}, {
"Event_code": "BW-081",
"Interest_area": "Information technology",
"Start_time": "9:00 AM",
"End_time": "9:30 AM",
"Session_type": "Course information session",
"all_day_evt": false
}, {
"Event_code": "BW-048",
"Interest_area": "Media, Communication and creative arts",
"Start_time": "12:00 PM",
"End_time": "12:30 PM",
"Session_type": "Experience",
"all_day_evt": false
}, {
"Event_code": "BW-128",
"Interest_area": "Media, Communication and creative arts",
"Start_time": "12:00 PM",
"End_time": "12:30 PM",
"Session_type": "Tour",
"all_day_evt": false,
"clash": "This clashes with another session"
}, {
"Event_code": "BW-039",
"Interest_area": "Media, Communication and creative arts",
"Start_time": "1:00 PM",
"End_time": "1:30 PM",
"Session_type": "Experience",
"all_day_evt": false
}, {
"Event_code": "BW-162",
"Interest_area": "Education and teaching",
"Start_time": "1:00 PM",
"End_time": "1:30 PM",
"Session_type": "Tour",
"all_day_evt": false,
"clash": "This clashes with another session"
}, {
"Event_code": "BW-034",
"Interest_area": "",
"Start_time": "1:30 PM",
"End_time": "2:00 PM",
"Session_type": "General information session",
"all_day_evt": false
}, {
"Event_code": "BW-170",
"Interest_area": "",
"Start_time": "9:30 AM",
"End_time": "10:30 AM",
"Session_type": "General information session",
"all_day_evt": false,
"clash": "This clashes with another session"
}]
这是我的代码...
// Func 1 -- Sort by 'all_day_evt' key i.e. True/False
arr.sort(function (x, y) {
return y.all_day_evt - x.all_day_evt;
});
console.log(arr);
// Func 2 -- Sort by time
arr.sort(function (a, b) {
return ((new Date('1970/01/01 ' + a.Start_time)) - (new Date('1970/01/01 ' + b.Start_time)));
});
console.log(arr);
我希望对此数组执行 2 次操作...
- 按“all_day_evt”键对该数组进行分组。我可以使用 Func 1 轻松完成此操作。
- 将此数组按“Start_time”排序在“true”子组和“false”子组中。我可以使用 Func 2 轻松完成此操作,但仅限于所有整个组/数组。
如何在子组(即“true”组和“false”组)中执行此操作?我在结合这两个功能时遇到一些困难。
非常感谢任何建议。谢谢。