现有如下数据[ { subject: "Math", entity: "A", date: "2021-01-01" }, { subject: "Math", entity: "A", date: "2021-02-01" }, { subject: "Science", entity: "A", date: "2021-03-01" }, { subject: "Science", entity: "A", date: "2021-01-15" }],用js将其根据subject、entity,再根据date从小到大排序
时间: 2023-07-05 08:32:31 浏览: 47
可以使用JavaScript的Array的sort方法,结合自定义比较函数来实现对数据的排序,代码如下:
```javascript
const data = [
{ subject: "Math", entity: "A", date: "2021-01-01" },
{ subject: "Math", entity: "A", date: "2021-02-01" },
{ subject: "Science", entity: "A", date: "2021-03-01" },
{ subject: "Science", entity: "A", date: "2021-01-15" }
];
data.sort((a, b) => {
if (a.subject !== b.subject) {
return a.subject.localeCompare(b.subject);
} else if (a.entity !== b.entity) {
return a.entity.localeCompare(b.entity);
} else {
return new Date(a.date) - new Date(b.date);
}
});
console.log(data);
```
输出结果为:
```
[
{ subject: 'Math', entity: 'A', date: '2021-01-01' },
{ subject: 'Math', entity: 'A', date: '2021-02-01' },
{ subject: 'Science', entity: 'A', date: '2021-01-15' },
{ subject: 'Science', entity: 'A', date: '2021-03-01' }
]
```
可以看到,数据已经按照subject、entity、date依次排序。