Array.includes () возвращает неопределенный - PullRequest
0 голосов
/ 10 июня 2018

Я пытаюсь взять введенное пользователем слово, сравнить его со всеми словами в массиве, а затем удалить слова из массива, которые содержат какие-либо одинаковые буквы с чем-то вроде:

var words = [
// words go here
]

for (let a = 0; a <= inputWord.length; a++) {
    for (let b = 0; b <= words.length; b++) {
        if (!words[b].includes(inputWord[a])) {
            words.splice(b, 1); 
        }
    }
}

Консоль браузера выдает мне «Ошибка типа: Не удается прочитать свойство» включает в себя неопределенное значение ».Во время тестирования я могу распечатать input[A] отлично, и я могу распечатать words[ случайное число по своему выбору ] отлично, но когда я пытаюсь напечатать words[b], оно будет неопределенным.

Проблема
Я не могу понять, почему words[b] не определено.

1 Ответ

0 голосов
/ 10 июня 2018

Индексирование массива начинается с 0. Запустите цикл с 0 - arr.length-1.Элемент в словах [words.length] не определен.

let words = [
// words go here
]

for (let a = 0; a < inputWord.length; a++) {
    for (let b = 0; b < words.length; b++) {
        if (!words[b].includes(inputWord[a])) {
            words.splice(b, 1); 
        }
    }
}
...