使用JavaScript中的Array.sort()方法来排序数组。可以通过传递一个函数作为参数来指定排序规则。对于按照日期和时间排序,可以使用Date对象来比较日期和时间的值。
示例代码:
const arr = [
{ court: 1, hour: "09:00" },
{ court: 2, hour: "10:00" },
{ court: 1, hour: "10:30" },
{ court: 3, hour: "11:00" },
{ court: 2, hour: "12:00" },
];
arr.sort((a, b) => {
const dateA = new Date(`01/01/2021 ${a.hour}`);
const dateB = new Date(`01/01/2021 ${b.hour}`);
if (a.court > b.court) {
return 1;
} else if (a.court < b.court) {
return -1;
} else {
return dateA - dateB;
}
});
console.log(arr);
输出结果:
[
{ court: 1, hour: "09:00" },
{ court: 1, hour: "10:30" },
{ court: 2, hour: "10:00" },
{ court: 2, hour: "12:00" },
{ court: 3, hour: "11:00" },
]
此代码通过Date对象将时间字符串转换为可比较的时间值,并按照传入的排序规则进行排序,最终返回一个按照日期和时间升序排列的数组。