Для # 1 вы хотите увидеть, содержит ли текст в слоте массива набранное слово в качестве подстроки.Сделайте это так:
// compare results
if (vIngredients[i].ingredients.indexOf(inputText) != -1) {
Для # 2, list.empty () должен это сделать.У вас есть это в вашем блоке "else" для случая, когда результаты не были найдены.
Для # 3, как вы узнаете, что результаты на самом деле были найдены?"InputText == vIngredients [i] .ingredients" когда-либо оценивается как "true"?Do console.log (vIngredients [i] .name);войти в систему так, как вы ожидаете?
Если вы новичок в javascript, вы можете не знать об отладчиках точек останова в различных инструментах для разработчиков браузеров.Это бесценно.