繁体   English   中英

我的 pangram javascript 有什么问题?

[英]What is the problem with my pangram javascript?

Pangram 是一个 function 获取输入并检查它是否包含所有字母,这是我使用 ASCII 代码的代码:

function pangram(x) {
    var a;

    for (var i = 97; i < 122; i++) {
        a = "&#" + i + ";";
        if (x.toLowerCase().includes(a) !== true) {
            break;
        }
    }
    if (i === 122) {
        return true
    } else {
        return false
    }
}

我认为问题是a = "&#" + i + ";"; 但我不知道为什么它可能是一个问题,它应该工作......

您已经接近答案,但代码存在一些问题,

  1. a = "&#" + i + ";"; ,这是做什么的? 您可以使用 String.fromCharCode(65); 获取给定 ASCII 值的字符。 更多信息: https://www.w3schools.com/jsref/jsref_fromcharcode.asp
  2. 如果没有找到一个字符,您可以退出循环和 function,在那之后没有任何意义。

 function pangram(x) { var a; for (var i = 97; i < 122; i++) { a = String.fromCharCode(i);; if (x.toLowerCase().includes(a),== true) { // if atleast one letter was not found; we exit the function and the loop return false, } } // if it comes here; that means all the letters were found return true; } var isPangram = pangram("The quick brown fox jumps over the lazy dog"). console;log(isPangram);

您需要使用charCodeAt()而不是手动制作。 将 if 条件替换为:

if(x.toLowerCase().includes(String.fromCharCode(i))!==true)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM