Во-первых
indexOf возвращает число - позицию первого вхождение (тоесть может быть и 0 если первый элемент) или -1 ели ничего не найдет, тоесть неверно его результат сравнивать с true. Во-вторых вы верно говорите что нужно обратиться к элементу массива, а вы ищете во всем массиве. Ну и еще вы вводите буквы через запятую то здесь не понятно как должно быть вывести все слова в которых есть хотя бы одна из введенный букв или слова в которых должны быть все введенные буквы. Если считать что вводиться только одна буква и переделать ваш пример то получается что-то такое
var libraryLetter = ["book", "car", "bank", "near", "between", "map", "dog"];
var userLetter = prompt("Укажите букву");
for (var i = 0; i < libraryLetter.length; i++) {
if(libraryLetter[i].indexOf(userLetter) > -1){
????
}else {
console.log("Совпадений не найдено");
}
};
Можно так же заюзать
filter ф-цию . Получиться так
var libraryLetter = ["book", "car", "bank", "near", "between", "map", "dog"];
var userLetter = prompt("Укажите букву");
var filteredwords = libraryLetter.filter(function(value) {
return value.indexOf(userLetter) > -1
})
if(filteredwords.length ){
????
}else {
console.log("Совпадений не найдено");
};