如何检测全语法

hba*_*ley 4 javascript pangram

全字母组合是一个包含字母表中每个字母至少一次的句子。

到目前为止,这是我的代码:

const isPangram = (string) => {
    let alpha = string.toUpperCase().split("");
    for (let beta = 65; beta < 65 + alpha.length; beta++) {
        let gamma = String.fromCharCode(beta);
        if (alpha.includes(gamma)) {
            continue;
        }
        else {
            return false;
        }
    }
    return true;
}

console.log(isPangram("Detect Pangram"));
Run Code Online (Sandbox Code Playgroud)

为什么“Detect Pangram”返回 true?

Kar*_*ran 5

.every您可以按照如下所示的非常简单的方式进行操作。

alphabets = 'abcdefghijklmnopqrstuvwxyz'.split("");

const isPangram = (string) => {
    string = string.toLowerCase();
    return alphabets.every(x => string.includes(x));
}

console.log(isPangram("Detect Pangram"));
console.log(isPangram("abcd efgh ijkl mnop qrst uvwx yz"));
Run Code Online (Sandbox Code Playgroud)

every您可以通过以下链接了解更多信息。

  1. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every
  2. https://www.w3schools.com/jsref/jsref_every.asp

  • 这是列表中最好的一个,但是我会将“toLowerCase()”移到“every”调用之外,这样就不会每次都重复字母表中的每个字母。 (2认同)