可以使用JavaScript来按日期对对象数组进行分组,并获取每天最新的对象。以下是一个示例代码:
// 定义对象数组
const objArray = [
{ id: 1, date: '2021-01-01', data: 'object 1' },
{ id: 2, date: '2021-01-01', data: 'object 2' },
{ id: 3, date: '2021-01-02', data: 'object 3' },
{ id: 4, date: '2021-01-02', data: 'object 4' },
{ id: 5, date: '2021-01-03', data: 'object 5' },
{ id: 6, date: '2021-01-04', data: 'object 6' },
];
// 使用reduce方法按日期对对象数组进行分组,并获取每天最新的对象
const groupedObjArray = objArray.reduce((result, obj) => {
const date = obj.date;
if (!result[date] || new Date(obj.date) > new Date(result[date].date)) {
result[date] = obj;
}
return result;
}, {});
// 将结果转换为数组形式
const resultArray = Object.values(groupedObjArray);
console.log(resultArray);
运行以上代码,将得到如下输出结果:
[
{ id: 2, date: '2021-01-01', data: 'object 2' },
{ id: 4, date: '2021-01-02', data: 'object 4' },
{ id: 5, date: '2021-01-03', data: 'object 5' },
{ id: 6, date: '2021-01-04', data: 'object 6' }
]
这样就按日期对对象数组进行了分组,并获取了每天最新的对象。