Reputation: 65
so here what am trying to do
const days = ['monday, april 26, 2021 11:00 pm','tuesday, april 27, 2021 13:00 am','tuesday, april 27, 2021 12:00 am', 'friday, april 27, 2021 12:00 am', 'saturday, april 27, 2021 12:00 am']
const found = ['monday', 'tuesday']
const removeFalseDay = days.filter(day => !day.includes("monday"));
console.log(removeFalseDay);
console.log(found);
console.log(days);
so it works fine with a single object but when I pass in an array of words It dosent filter anyone knows why is that 🙏🏻
const days = ['monday, april 26, 2021 11:00 pm','tuesday, april 27, 2021 13:00 am','tuesday, april 27, 2021 12:00 am', 'friday, april 27, 2021 12:00 am', 'saturday, april 27, 2021 12:00 am']
const found = ['monday', 'tuesday']
const removeFalseDay = days.filter(day => !day.includes(found));
console.log(removeFalseDay);
console.log(found);
console.log(days);
Upvotes: 0
Views: 53
Reputation: 65
so I got it to work like this
const days = ['monday, april 26, 2021 11:00 pm','tuesday, april 27, 2021 13:00 am','tuesday, april 27, 2021 12:00 am', 'friday, april 27, 2021 12:00 am', 'saturday, april 27, 2021 12:00 am']
const found = ['monday', 'tuesday', 'friday']
const removeFalseDay = days.filter(days =>!found.some(f => days.includes(f)));
console.log(removeFalseDay);
console.log(found);
console.log(days);
Thanks to @DownloadPizza
Upvotes: 0
Reputation: 124
const days = ['monday, april 26, 2021 11:00 pm','tuesday, april 27, 2021 13:00 am','tuesday, april 27, 2021 12:00 am', 'friday, april 27, 2021 12:00 am', 'saturday, april 27, 2021 12:00 am']
const found = /monday|tuesday/
const removeFalseDay = days.filter(day => !found.test(day));
console.log(removeFalseDay);
console.log(found);
console.log(days);
Upvotes: 1
Reputation: 3456
How about
days.filter(day =>!found.some(f => day.contains(f))
The some function returns true when the predicate matches for any element
Upvotes: 3