我有一个包含开始和结束日期的数据数组,它在Angular日历中显示。我想根据开始和结束日期筛选数组。
0: {id: 86, start_date: "2019-11-06T09:00:13Z", end_date: "2019-11-11T14:00:13Z"}
1: {id: 86, start_date: "2019-11-04T18:30:00Z", end_date: "2019-11-07T07:12:09Z"}
2: {id: 86, start_date: "2019-11-04T18:30:00Z", end_date: "2019-11-07T07:03:21Z"}
3: {id: 86, start_date: "2019-11-26T18:30:00Z", end_date: "2019-11-27T07:03:21Z"}
4: {id: 66, start_date: "2019-11-04T18:30:00Z", end_date: "2019-11-07T07:12:09Z"}
5: {id: 66, start_date: "2019-11-05T18:30:00Z", end_date: "2019-11-12T07:03:21Z"}
如果我在2019-11-07这一天(我无法从这里获取日期进行筛选) 我想要根据以上条件构建一个数组,而不使用2019-11-07。
0: {id: 86, start_date: "2019-11-06T09:00:13Z", end_date: "2019-11-11T14:00:13Z"}
1: {id: 66, start_date: "2019-11-04T18:30:00Z", end_date: "2019-11-07T07:12:09Z"}
我已经编写了以下过滤器。
data.forEach((item, index) => {
if (index !== data['results'].findIndex(i => i.id === item.id &&
new Date(i.start_date).toDateString() === new Date(item.start_date).toDateString() &&
new Date(i.end_date).toDateString() === new Date(item.end_date).toDateString())) {
data.splice(index, 1);
}
});
console.log(data);
如果我在2019-11-07,我将无法删除此项。
0: {id: 86, start_date: "2019-11-06T09:00:13Z", end_date: "2019-11-11T14:00:13Z"}
有人能帮我吗?
.forEach()
、.findIndex()
和.splice()
,而不是一个简单的.filter()
? - Andreas