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 把英文字母按照英文字母表的顺序写成数字,忽略非英文字母符号,为什么最后都得不到结果呢,我感觉我这个是对的呀。哪位大神帮我看看?
1 回答
已采纳
stone310
TA贡献361条经验 获得超191个赞
修改了,以下注释为修改的地方,把那个还带注释符的参数改成了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>
添加回答
举报
0/150
提交
取消