I have an array of object like this
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'
}
}];
I have another array of object to filter
toFilterEvents = [
{startDate: "2018-08-28", summary: "sample test events1"},
{startDate: "2018-08-29", summary: "sample test events2"},
]
I want the result to be like,
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'
}
}];
What I have tried,
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);
}
As you can see i am using filter and some to get the desired output like as shown above but it doesnt work. I found similar questions like this but this is to return the events without toFilterEvents