const timeArray = [ { time: '09:00 AM' }, { time: '01:00 PM' }, { time: '05:00 AM' }, { time: '10:00 PM' }, { time: '03:00 PM' } ];
timeArray.sort(function(a, b) { // 将字符串表示的时间转换为 Date 对象 const time1 = new Date('1970-01-01T' + a.time + 'Z'); const time2 = new Date('1970-01-01T' + b.time + 'Z'); // 返回一个数,如果它为负数,则 a 小于 b,如果它为正数,则 a 大于 b,如果它为零,则两者相等。 return time1 - time2; });
console.log(timeArray);
// 输出结果为: // [ // { time: '05:00 AM' }, // { time: '09:00 AM' }, // { time: '01:00 PM' }, // { time: '03:00 PM' }, // { time: '10:00 PM' } // ]
这样,我们就成功地按照当前时间基于时间对象排序了数组。