Array.includes()返回undefined

时间:2018-06-10 08:03:47

标签: javascript arrays include undefined

我试图用一个用户输入的单词,检查数组中的所有单词,然后删除数组中包含任何相同字母的单词,其中包含以下内容:

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); 
        }
    }
}

浏览器控制台正在给我&#34; TypeError:无法读取属性&#39;包含&#39;未定义的。&#34;在测试时我可以打印input[A]罚款,我可以打印words[我选择]的随机数,但是当我尝试打印words[b]它时,未定义。

问题
我无法弄清楚为什么words[b]未定义。

1 个答案:

答案 0 :(得分:2)

数组索引从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); 
        }
    }
}