Найти объект в массиве

Я крутил свои колеса на этом некоторое время. У меня есть массив объектов, построенный следующим образом:

0: {name: "Coaches", isActive: true, locations: Array(13)}
1: {name: "Directors", isActive: false, locations: Array(13)}
2: {name: "Trainers", isActive: false, locations: Array(5)}

У меня есть навигационное меню, и когда мышь входит, я получаю текст строки. Теперь я пытаюсь в своем массиве сравнить этот текст с текстом имени, чтобы я мог создавать подэлементы местоположений.

        $('.nav ul').hide();
    $('.nav li').mouseenter(function () {                        
        $(this).children('ul').stop().slideDown('slow');
        var text = $(this).find('span').text();
        //console.log(text);

        var item = leftNavData.modules.findIndex(i => i.name.toLowerCase() === "coaches");
        var i = leftNavData.modules.find(x => x.name.toLowerCase() == text.toLowerCase());
        console.log(i);
        console.log(item);

    }).mouseleave(function () {

        $(this).children('ul').stop().slideUp('slow')
    });

Поиск всегда возвращает тот же объект, который тренирует первый, даже если я наведу курсор на другие элементы.

Текст меняется, но поиск всегда возвращает первый объект.

FindIndex всегда равен 0.

Я начал здесь и здесь

Любые идеи или что-то, что я пропустил?

Спасибо


person Troy Bryant    schedule 30.01.2019    source источник
comment
.toLowerCase() — это метод, а не свойство.   -  person Mitya    schedule 30.01.2019
comment
Вы не звоните toLowerCase. В нем отсутствуют скобки: toLowerCase().   -  person trincot    schedule 30.01.2019
comment
да, я вообще этого не видел, но в любом случае теперь он не определен, а -1 все еще не находит элемент   -  person Troy Bryant    schedule 30.01.2019
comment
Пожалуйста, обновите свой вопрос фрагментом, который мы можем запустить и воспроизвести проблему.   -  person trincot    schedule 30.01.2019
comment
"coaches" и "Coaches" не являются одной и той же строкой.   -  person trincot    schedule 30.01.2019
comment
Вы не исправили все toLowerCase...   -  person trincot    schedule 30.01.2019


Ответы (1)


Простая ошибка, основанная на непонимании того, что .toLowerCase() — это метод, а не свойство.

.toLowerCase()

нет

.toLowerCase
person Mitya    schedule 30.01.2019
comment
да, я вообще этого не видел, но в любом случае теперь он не определен, а -1 все еще не находит элемент - person Troy Bryant; 30.01.2019
comment
несмотря на то, что update все равно возвращает первый элемент в массиве, несмотря ни на что? - person Troy Bryant; 30.01.2019