英文字母按照英文字母表的顺序写成数字,忽略非英文字母符号?


function alphabetPositiion(tExt//j){

var lowercase=tExt//j.toLowerCase();

var arr=tExt//j.split('');

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

if(97<=arr[i].charCodeAt()<=122){

      return arr[i].char.CodeAt()-96;

       }else{return}

}

return tExt//j

}


我想得到的是 20 5 24 20 10  把英文字母按照英文字母表的顺序写成数字,忽略非英文字母符号,为什么最后都得不到结果呢,我感觉我这个是对的呀。


哪位大神帮我看看?

慕仰6432972
浏览 1316回答 1
1回答

stone310

修改了,以下注释为修改的地方,把那个还带注释符的参数改成了a<script> function alphabetPositiion(a) {     var lowercase = a.toLowerCase();     var arr = a.split('');     //for( var i=0;i<=arr.length;i++){      //用<而不是<=,当=的时候,最后一次会发生越界     for (var i = 0; i < arr.length; i++) {       //if(97<=arr[i].charCodeAt()<=122){     //这里不能这么写         if (97 <= arr[i].charCodeAt() && arr[i].charCodeAt() <= 122) {                //return arr[i].char.CodeAt()-96;   //用return,只执行一次,就退出循环了,charCodeAt写错。             console.log(arr[i].charCodeAt() - 96)            } else {             //return                          //不能用return,否则循环退出             continue;                             }     }     return a } alphabetPositiion("34sdf") </script>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript