findIndex method is not retrieving the index while the value exist

I’m trying to find the index of an object in an array.

        for (let i = 0; i < sitesDeTir.length; i++) {
            let affIndex = affectations.findIndex((aff) => aff.id_sdt === sitesDeTir[i].id);
            if (affIndex === -1) {
                // action
            } else {
                // action
            }
        }

When I use the Chrome debugger, I can see that sitesDeTir[i].id is equal to 371 (number).
I’ve also digged in the array (called affectations) and I see that there is an object who have id_sdt to 371 (number) but I always receive -1.

Screenshot with the value of sitesDeTir[i].id

Screenshot with the array in Chrome debugger

What I’m a missing here?
I’m sorry for the link, I don’t have enough reputation to embed it in the post.

>Solution :

The problem occurs because you compare apples with bananas 🙂 Write id_SDT instead id_sdt.

 for (let i = 0; i < sitesDeTir.length; i++) {
    let affIndex = affectations.findIndex((aff) => aff.id_SDT === sitesDeTir[i].id);
    if (affIndex === -1) {
        // action
    } else {
        // action
    }
}

Leave a Reply