我做到了这一点。任何人都可以建议我如何缩短它而不失其属性?请保持英文简单。
function LetterChanges(str) {
var se = "";
for(var i = 0;i < str.length;i++){
var ser = str.charAt(i);
if(ser == "A" || ser == "a"){
if(ser == "A"){se += "B"}
else {se += "b"}
}
if(ser == "B" || ser == "b"){
if(ser == "B"){se += "C"}
else {se += "c"}
}
if(ser == "C" || ser == "c"){
if(ser == "C"){se += "D"}
else {se += "d"}
}
if(ser == "D" || ser == "d"){
if(ser == "D"){se += "E"}
else {se += "e"}
}
if(ser == "E" || ser == "e"){
if(ser == "E"){se += "F"}
else {se += "f"}
}
if(ser == "F" || ser == "f"){
if(ser == "F"){se += "G"}
else {se += "g"}
}
if(ser == "G" || ser == "g"){
if(ser == "G"){se += "H"}
else {se += "h"}
}
if(ser == "H" || ser == "h"){
if(ser == "H"){se += "I"}
else {se += "i"}
}
if(ser == "I" || ser == "i"){
if(ser == "I"){se += "J"}
else {se += "j"}
}
if(ser == "J" || ser == "j"){
if(ser == "J"){se += "K"}
else {se += "k"}
}
if(ser == "K" || ser == "k"){
if(ser == "K"){se += "L"}
else {se += "l"}
}
if(ser == "L" || ser == "l"){
if(ser == "L"){se += "M"}
else {se += "m"}
}
if(ser == "M" || ser == "m"){
if(ser == "M"){se += "N"}
else {se += "n"}
}
if(ser == "N" || ser == "n"){
if(ser == "N"){se += "O"}
else {se += "o"}
}
if(ser == "O" || ser == "o"){
if(ser == "O"){se += "P"}
else {se += "p"}
}
if(ser == "P" || ser == "p"){
if(ser == "P"){se += "Q"}
else {se += "q"}
}
if(ser == "Q" || ser == "q"){
if(ser == "Q"){se += "R"}
else {se += "r"}
}
if(ser == "R" || ser == "r"){
if(ser == "R"){se += "S"}
else {se += "s"}
}
if(ser == "S" || ser == "s"){
if(ser == "S"){se += "T"}
else {se += "t"}
}
if(ser == "T" || ser == "t"){
if(ser == "T"){se += "U"}
else {se += "u"}
}
if(ser == "U" || ser == "u"){
if(ser == "U"){se += "V"}
else {se += "v"}
}
if(ser == "V" || ser == "v"){
if(ser == "V"){se += "W"}
else {se += "w"}
}
if(ser == "W" || ser == "w"){
if(ser == "W"){se += "X"}
else {se += "x"}
}
if(ser == "X" || ser == "x"){
if(ser == "X"){se += "Y"}
else {se += "y"}
}
if(ser == "Y" || ser == "y"){
if(ser == "Y"){se += "Z"}
else {se += "z"}
if(ser == "Z" || ser == "z"){
if(ser == "Z"){se += "A"}
else {se += "a"}
}
}
return se;
}
LetterChanges("Argument Goes Here");
答案 0 :(得分:1)
如果我理解正确,你只想返回原始字符串,其中每个字母都按字母顺序被下一个字母替换,保持相同的情况。
所以这将天真地完成这项工作:
function letterChange(str) {
var alphabet =
'ABCDEFGHIJKLMNOPQRSTUVWXYZ' +
'abcdefghijklmnopqrstuvwxyz',
result = '';
for (var i = 0, n = str.length; i < n; i++) {
var pos = alphabet.indexOf(str.charAt(i)) + 1;
if (pos == 26 || pos == 52) {
pos -= 26;
}
result += alphabet[pos];
}
return result;
}
var example = 'ABJKYZabjkyz';
console.log(example, '->', letterChange(example));
&#13;