Не до конца то что я представлял когда описывал идею. Я не знаю всех последствий итерации по массиву и изменению массива в этой же итерации и не советовал бы писать такой код.
Первый шаг - найти индекс элемента в массиве. Метод массива indexOf
делает то что надо. Перебор по всем элементам массива для поиска индекса искомого тоже сработает но будет неоптимальным.
Второй шаг - удалить элемент из массива с этим индексом.
Эти шаги как бы “изолированы” друг от друга. Они решаются как бы отдельно друг от друга. Вместе сводятся через переменную типа “индексИскомогоЗелья”, куда первый шаг записывает свой результат, и которую второй шаг использует в splice
.
Лирика №1. Одна эвристика которая мне помогала когда я только начинал это сформулировать чего мне надо достичь (найти индекс элемента массива) а потом проглядеть все методы и посмотреть какие из них делают то что мне надо (тебе могут показаться полезными методы типа indexOf
или find
. Списки методов с их описанием лучше годно оформлены на MDN: Array - JavaScript | MDN
Лирика №2. Разбитие задачи на отдельные изолированные шаги это то что тебе нужно научиться делать сразу же после изучения массивов-функций-переменных-условий. Гиганские проекты, маленькие проекты, даже функции - все они состоят из относительно изолированных решений, сводящихся очевидным образом вместе (проекты через АПИ, функции - через вызовы других функций или значения в переменных).