在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/

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...