У меня есть массив объектов, подобных этому
events = [ {
'summary': 'sample test events1',
'location': 'coimbatore',
'start': {
'date': '2018-08-28',
'timeZone': 'America/Los_Angeles'
},
'end': {
'date': '2018-08-28',
'timeZone': 'America/Los_Angeles'
}
},
{
'summary': 'sample test events2',
'location': 'coimbatore',
'start': {
'date': '2018-08-29',
'timeZone': 'America/Los_Angeles'
},
'end': {
'date': '2018-08-29',
'timeZone': 'America/Los_Angeles'
}
},
{
'summary': 'sample test events4',
'location': 'coimbatore',
'start': {
'date': '2018-08-27',
'timeZone': 'America/Los_Angeles'
},
'end': {
'date': '2018-08-27',
'timeZone': 'America/Los_Angeles'
}
},
{
'summary': 'sample test events5',
'location': 'coimbatore',
'start': {
'date': '2018-08-26',
'timeZone': 'America/Los_Angeles'
},
'end': {
'date': '2018-08-26',
'timeZone': 'America/Los_Angeles'
}
}];
У меня есть другой массив объектов для фильтрации
toFilterEvents = [
{startDate: "2018-08-28", summary: "sample test events1"},
{startDate: "2018-08-29", summary: "sample test events2"},
]
Я хочу, чтобы результат был похож,
events = [
{
'summary': 'sample test events4',
'location': 'coimbatore',
'start': {
'date': '2018-08-27',
'timeZone': 'America/Los_Angeles'
},
'end': {
'date': '2018-08-27',
'timeZone': 'America/Los_Angeles'
}
},
{
'summary': 'sample test events5',
'location': 'coimbatore',
'start': {
'date': '2018-08-26',
'timeZone': 'America/Los_Angeles'
},
'end': {
'date': '2018-08-26',
'timeZone': 'America/Los_Angeles'
}
}];
То, что я пробовал,
filterExistingEvents(toFilterEvents);
filterExistingEvents(filtered_events) {
const hello = this.events.filter((r, i) => {
return filtered_events.some(f => r.summary !== f.summary)
});
console.log('events after filter', hello, this.events);
}
Как вы можете видеть, я использую фильтр и некоторые, чтобы получить желаемый результат, как показано выше, но он не работает.Я нашел подобные вопросы, как это, но это, чтобы вернуть события без toFilterEvents