从传递进来的字母序列中找到缺失的字母并返回它。 如果所有字母都在序列中,返回 undefined。

 

代码一(自己思路):

function fearNotLetter(str) {

var str1=str.split("");
var j=0;
for(var i=str1[0].charCodeAt();i<=str1[str1.length-1].charCodeAt();i++){


if(i != str1[j].charCodeAt()){
return String.fromCharCode(i);

}else{
j++;
}

}
return undefined;
}

fearNotLetter("abce");

 

代码二(网上摘抄)

function fearNotLetter(str) {

var arrCover=[];

for(var i=0;i<str.length;i++){

arrCover.push(str[i].charCodeAt());

}//转化为键码

arrCover.sort(function(a,b){ return a-b; });

//重新排序

str='';

//清空

for(i=0;i<arrCover.length;i++){

str+=(String.fromCharCode(arrCover[i]));

}//把转化出来的数组重新给字符串

//获取索引

var strAll='abcdefghijklmnopqrstuvwxyz';

var indexOver=strAll.indexOf(str.charAt(str.length-1));

var indexStart=strAll.indexOf(str.charAt(0));

//切割出用以比较的字符串

var strCompare=strAll.substring(indexStart,indexOver+1);

var newStr=''; if(strCompare==str){ return undefined;

}

for(i=0;i<strCompare.length;i++){

if(str.indexOf(strCompare[i])==-1){

newStr+=strAll[i];

}

}

console.log(newStr); return newStr;

}

 

ps:  可能自己的思虑不周全吧!

 

posted @ 2017-12-29 21:16  叶绿痕  阅读(408)  评论(0编辑  收藏  举报