我正在使用以下说明进行 coderbyte 挑战:
使用 JavaScript 语言,让函数 LetterChanges(str) 获取传递的 str 参数并使用以下算法对其进行修改。将字符串中的每个字母替换为字母表中紧随其后的字母(即,c 变为 d,z 变为 a)。然后将这个新字符串中的每个元音(a、e、i、o、u)大写,最后返回这个修改后的字符串。
我的代码按照说明执行,但不保留原始句子的空格。
function LetterChanges(str) {
var chars = str;
var newStr = [];
for (var i = 0; i < str.length; i++) {
if (/[a-y]/ig.test(chars[i])) {
newStr[i] = String.fromCharCode(chars[i].charCodeAt(0) + 1);
if (/[aeiou]/ig.test(newStr[i])) {
newStr[i] = newStr[i].toUpperCase();
}
} else if (/[z]/ig.test(chars[i])) {
newStr[i] = "A";
}
}
return newStr.join('');
}
LetterChanges("Argument goes here"); // result should be: BshvnfOUhpftIfsf
有没有办法保留原始字符串中的空格?