微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在javascript中搜索字母表中缺少的字母的字符串

我正在处理一些代码,它将搜索字符串并返回字母表中缺少的任何字母.这是我有的:
function findWhatsMissing(s){
    var a = "abcdefghijklmnopqrstuvwxyz";
    //remove special characters
    s.replace(/[^a-zA-Z]/g,"");
    s = s.toLowerCase();
    //array to hold search results
    var hits = [];

    //loop through each letter in string
    for (var i = 0; i < a.length; i++) {
        var j = 0;
        //if no matches are found,push to array
        if (a[i] !== s[j]) {
                hits.push(a[i]);
        }
        else {
            j++;
        }
    }
    //log array to console
    console.log(hits);
}

但使用测试用例:
findWhatsMissing(“d a b c”);

结果将所有字母添加到缺少的数组之前.

任何帮助将不胜感激.

解决方法

在你的循环中,你可以使用indexOf()来查看你的输入中是否存在这个字母.这样的事情会奏效:
for (var i = 0; i < a.length; i++) {
    if(s.indexOf(a[i]) == -1) { hits.push(a[i]); }
}

希望有帮助!你可以看到它在这个JS小提琴中工作:https://jsfiddle.net/573jatx1/1/

原文地址:https://www.jb51.cc/js/152218.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐