我希望我的程序检查数组中的任何两个连续单词是否相同。我相信我的“if”语句是正确的,但是console.log显示所有连续的单词都匹配。我在这里想念什么?

任何帮助表示赞赏!我是这个东西的新手:)

var wordArray = ["blue", "green", "yellow", "red", "red", "blue", "blue", "yellow"]

for (i=0; i<wordArray.length - 1; i++) {
    if (i === i+1); {
        console.log("We have a match!");
    } //Why is this loop saying that all items in the array are equal?
}

最佳答案

试试这个。您在错误的if语句旁边检查索引而不是数组的元素。

for (i = 0; i < wordArray.length - 1; i++) {
    if (wordArray[i] === wordArray[i + 1]) {
        console.log("We have a match!");
    }
}

如果数组只有一个元素长,则只是更好地进行长度处理的提示:
for (i = 1; i < wordArray.length; i++) {
    if (wordArray[i - 1] === wordArray[i]) {
        console.log("We have a match!");
    }
}

09-25 18:46