【问题标题】:Create a function that takes a word and returns true if the word has two consecutive identical letters [closed]如果单词有两个连续的相同字母,则创建一个接受单词并返回true的函数[关闭]
【发布时间】:2022-01-12 00:57:27
【问题描述】:

// 创建一个函数,该函数接受一个单词,如果该单词有两个连续的相同字母,则返回 true。

我做错了什么?

module.exports = (word) => {
    for (let i = 0; i <= word.length; i++) {
        for (let j = i + 1; j <= word.length; j++) {
            if (word[j] == word[i]) {
                return true;
            }
        } return false;
        
    } 

};

【问题讨论】:

  • return false 移动到下一个右大括号之后。在第一次外部迭代完成后,您目前有一个return

标签: javascript for-loop if-statement duplicates boolean


【解决方案1】:

您只需 1 个循环即可完成此操作。

function hasConsecutiveIdenticalLetters(word){
    for (let i = 1; i < word.length; i++) {
        if (word[i-1] === word[i]) {
            return true;
        }
    }
    return false;
}

【讨论】:

  • 谢谢!!!我是新手。感谢您的帮助!
  • 不客气 :)
  • 应该是i &lt; word.length,否则你的索引会越界
  • 你说得对,谢谢,修正了答案。
【解决方案2】:

您也可以使用some 实现如下所示

const hasConsecutiveIdenticalLetters = (word: string) => (word).split('').some((letter, index) => letter === word[index + 1]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    相关资源
    最近更新 更多