Javascript 什么';这个编码器字节码有什么问题(简单挑战#2)?

Javascript 什么';这个编码器字节码有什么问题(简单挑战#2)?,javascript,arrays,string,replace,Javascript,Arrays,String,Replace,挑战要求: 使用JavaScript语言,让函数LetterChanges(str)获取要传递的str参数,并使用以下算法对其进行修改。用字母表中紧跟其后的字母替换字符串中的每个字母(即c变为d,z变为a)。然后将这个新字符串(a、e、i、o、u)中的每个元音大写,最后返回这个修改后的字符串 我的解决方案: function LetterChanges(str) { var alphabet = [a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x

挑战要求:

使用JavaScript语言,让函数LetterChanges(str)获取要传递的str参数,并使用以下算法对其进行修改。用字母表中紧跟其后的字母替换字符串中的每个字母(即c变为d,z变为a)。然后将这个新字符串(a、e、i、o、u)中的每个元音大写,最后返回这个修改后的字符串

我的解决方案:

function LetterChanges(str) { 

var alphabet = [a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z];
var vowels = [a,e,i,o,u];
var stringToArray = str.split("");

for (i=0; i<=stringToArray.length; i++){       //goes through new array one-by-one
    var originalLetter = stringToArray[i]      // names each letter
    var alphabetPosition = alphabet.indexOf(); // finds letter position in alphabet array
    var newAlphabetPosition = alphabetPosition + 1; // adds one to that position
    var newLetter = alphabet[newAlphabetPosition];  // changes the old letter to the new
    newLetter = stringToArray[i];              // sends new letter to its position on new array
    if (newLetter.isInArray(vowels){           // finds if new letter is a vowel
        newLetter = newLetter.toUpperCase();   // if yes, turn into upper case
        }      
    str = stringToArray.toStr()                 //turns array back to string, and names it str
}
return str;         
}
function-LetterChanges(str){
变量字母表=[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z];
变量元音=[a,e,i,o,u];
var stringToArray=str.split(“”);

对于(i=0;i代码不起作用…因为有几个错误:

  • 我是什么?你忘了申报了吗
  • 将字符串转换为数组后…第一个字符从0开始,最后一个字符的长度为-1。for循环条件具有iMy CoderByte Solutions()

    功能字母更改(str){
    var元音='aeiou',result='',changedChar;
    对于(i=0;i=97&&c<122)
    changedChar=String.fromCharCode(c+1);
    else如果(c==122)
    changedChar=String.fromCharCode(97);
    其他的
    changedChar=str[i];
    if(元音索引of(changedChar)!=-1)
    changedChar=changedChar.toUpperCase();
    结果+=changedChar;
    }
    返回结果;
    }
    
    你的实际问题是什么?如果这个代码工作正常,你还有其他关于重构、性能、可维护性的问题,你也可以考虑。不要在两个站点上跨帖子。@ Kvera这个代码…
    function LetterChanges(str) {
            var vowels = 'aeiou', result = '', changedChar;
            for (i = 0; i < str.length; i++) {
                var c = str.charCodeAt(i);
                if (c >= 97 && c < 122)
                    changedChar = String.fromCharCode(c + 1);
                else if (c == 122)
                    changedChar = String.fromCharCode(97);
                else
                    changedChar = str[i];
    
                if (vowels.indexOf(changedChar) != -1)
                    changedChar = changedChar.toUpperCase();
    
                result += changedChar;
            }
            return result;
        }