I have this function that iterates each object in an array to get their id and then filtering the result using a given id:
const id = another.id; //variable used to filter through the items
const pos = this.items.map(function(e){return e.id}).indexOf(id); //filter items with another.id
this.items.splice(pos, 1) //remove item with the same id as another.id
The another.id
would sometimes be a string
and sometimes be a number
, it would work when the type is string
but pos
would become -1
indicating that indexOf()
didn't find a match. The e.id
's are also a typeof string
.
So my question would be as the title says, is indexOf()
type sensitive?
CodePudding user response:
Yes, it's type sensitive according to mdn:
indexOf() compares searchElement to elements of the Array using strict equality (the same method used by the === or triple-equals operator).