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
Advertisement
Answer
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: