我该如何解决这个问题。它应该使 str 中的所有元音大写,并将字母表中的每个字母更改为字母表中的下一个字母(即 a -> b 或 z->a)。它不断返回“str.join 不是函数”。有帮助吗?顺便说一下,它是 JavaScript。
function LetterChanges(str) {
str = str.split("");//split() string into array
for(var i=0;i<str.length;str++){//for loop that checks each letter
if(str[i]===/[^a-y]/){
str=str[i].fromCharCode(str[i].charCodeAt(0) + 1);
}else if(str[i]==='z'){
str[i] = 'a';
}
if(str[i] === 'a'||'e'||'i'||'o'||'u'){
str[i] = str[i].toUpperCase();
}
}
//modifies letter by adding up in alphabet
//capitalizes each vowel
//join() string
return str.join();
}
// keep this function call here
// to see how to enter arguments in JavaScript scroll down
LetterChanges(readline());
最佳答案
好的,您需要阅读一些有关 JavaScript 的内容。
这并不符合您的想法str[i]===/[^a-y]/
。您应该使用 str[i].match(/[a-y]/i)
。
这并不符合您的想法:str[i] === 'a'||'e'||'i'||'o'||'u'
。它总是会返回 true。您需要这个 str[i].match(/[aeiou]/i)
。
关于javascript - 将字符串中的元音变为大写并将字母更改为字母表中的下一个字母(即 a->b)的程序不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21143554/