我一直在做一个挑战,我必须在 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!"));
最佳答案
你并不孤单。许多人在遇到这样的问题时,首先会编写涉及字符代码、if 语句等的复杂逻辑。通常有一种更简单的方法:写下“源”和“目标”字母,然后编写两行代码来翻译输入它们之间。如果结果不是您所期望的,只需编辑目标字母即可。
src = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
dst = 'bcdEfghIjklmnOpqrstUvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZA'
str = 'whatever!'
out = ''
for (c of str)
out += dst[src.indexOf(c)] || c
console.log(out)
关于javascript - 将元音大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43018364/