【发布时间】:2017-03-25 15:41:06
【问题描述】:
我一直在做一个挑战,我必须在 Javascript 中创建一个函数,它将字母位置改变一个并且元音必须大写,例如“f”变为“g”,“z”变为“A” " 和 "m" 转到 "O"。我做了很大一部分这些步骤,但我正在努力将元音大写。这是我的代码:
function LetterChanges(str) {
var newString = [];
for (var i = 0; i < str.length; i++) {
if (str.charCodeAt(i) >= 97 && str.charCodeAt(i) <= 121) {
newString.push(String.fromCharCode(str.charCodeAt(i) + 1));
}
// z to a
else if (str.charCodeAt(i) === 122) {
newString.push(String.fromCharCode(str.charCodeAt(i) - 57));
} //spaces
else if (str.charCodeAt(i) === 32) {
newString.push(String.fromCharCode(32));
} else {
newString.push(String.fromCharCode(str.charCodeAt(i)));
}
}
return newString.join("");
}
console.log(LetterChanges("fanzd times!"));
【问题讨论】:
-
为什么“m”变成“O”?不应该是“n”
-
元音大写的哪一部分你在纠结?测试一个字母是不是元音,还是改变大小写?
-
小写和大写字母的ascii码差为32,如a=>97, A=>65, b=>98, B=>66
-
考虑接受有帮助的答案。通过接受一个答案,您向未来的读者表明这是一个正确的答案。要接受答案,请单击最佳答案旁边的空心复选标记,这样做会提高您的声誉并提供更多功能,请参阅reputation faq 更多详细信息,请参阅this page。
标签: javascript arrays