JavaScript:我正在尝试通过一串字符循环,并确定是否缺少字符



这是我的挑战:创建一个函数,可以在参数中找到传递的丢失字母并将其返回。如果字符串中存在所有字母,则返回将不确定。例如,失踪程序(" abce")应返回" D",丢失插图(" bcd")应返回未定义。

我在这个问题上遇到麻烦了,您能告诉我我是否在正确的轨道上使用我的代码:

var missingLetter = function(char){
  var missing = "";
  var str = "abcdefghijklmnopqrstuvwxyz";
  for (var i = char[0]; i < char.length; i++){
     for(var y = char[0].indexOf(str); y < char.length; y++ ){
       if(char[y].indexOf(str) == -1 ){
         missing.push(char[y]);
       }
     }
  }
   console.log(missing);
  return missing;
}
missingLetter("abce")

tonmoy如果您愿意,就可以给答案。首先,如果要使用推动功能,则必须创建一个数组。

var missingLetter = function(char){
    var missing = []
    var y = 0
    var str = "abcdefghijklmnopqrstuvwxyz";
    for (var i = 0; i < str.length; i++){
        while(y  < char.length ){
            if( char[y] != str[y+i] ){
                missing.push(str[y+i])
                ++i
            }
            else
                ++y
        }
}
console.log(missing)
return missing
}
missingLetter("cdz")

您将丢失的变量定义为字符串,但应该是一个array()。循环条件不正确。以下是代码段,它可以正常工作。

var missingLetter = function(char){
    var missing = new Array();
    var str = "abcdefghijklmnopqrstuvwxyz";
    var i = 0;
    while(i<char.length) {
        for(var j=0;j<26;j++) {
            if(str[j].indexOf(char[i])>-1){
                i++;
            } else {
                missing.push(str[j]);
            }
        }
    }
    console.log(missing);
    return missing;
}
missingLetter("abce");

最新更新