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

前端之家收集整理的这篇文章主要介绍了在javascript中搜索字母表中缺少的字母的字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_403_0@
我正在处理一些代码,它将搜索字符串并返回字母表中缺少的任何字母.这是我有的:
  1. function findWhatsMissing(s){
  2. var a = "abcdefghijklmnopqrstuvwxyz";
  3. //remove special characters
  4. s.replace(/[^a-zA-Z]/g,"");
  5. s = s.toLowerCase();
  6. //array to hold search results
  7. var hits = [];
  8.  
  9. //loop through each letter in string
  10. for (var i = 0; i < a.length; i++) {
  11. var j = 0;
  12. //if no matches are found,push to array
  13. if (a[i] !== s[j]) {
  14. hits.push(a[i]);
  15. }
  16. else {
  17. j++;
  18. }
  19. }
  20. //log array to console
  21. console.log(hits);
  22. }

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

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

任何帮助将不胜感激.

解决方法

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

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

猜你在找的JavaScript相关文章