Reputation: 35
here is my code
subjectData = [
{name: 'a'},
{name: 'b'},
{name: 'c'},
]
eachStudent.subjectName= [
'b', 'c'
]
this.eachStudent.subjectName.forEach((v) => {
let index = this.subjectData.map((el) => el.name.toLowerCase()).indexOf(v.toLowerCase());
if (index > -1) {
this.subjectData.splice(index, 1)
}
})
I want to remove indexs from subjectData which is exist in eachStudent.subjectName
and when i console el.name and v I found that one el is similar but always return -1
Plz help
Upvotes: 1
Views: 67
Reputation: 2268
It's so much easier to do this with a one liner using filter:
subjectData = subjectData.filter((item => !subjectName.includes(item.name)));
Here's a working stackblitz:
https://stackblitz.com/edit/js-tly2yl
Upvotes: 5