Javascript 什么';这个编码器字节码有什么问题(简单挑战#2)?
挑战要求: 使用JavaScript语言,让函数LetterChanges(str)获取要传递的str参数,并使用以下算法对其进行修改。用字母表中紧跟其后的字母替换字符串中的每个字母(即c变为d,z变为a)。然后将这个新字符串(a、e、i、o、u)中的每个元音大写,最后返回这个修改后的字符串 我的解决方案: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
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;
}