如果我在JavaScript中收到一封信,我想按字母顺序查找上一个字母,所以如果输入为"C",则输出必须为"B".有没有标准的解决方案,还是我必须创建一些特殊的功能?
Ben*_*Lee 14
var ch = 'b';
String.fromCharCode(ch.charCodeAt(0) - 1); // 'a'
Run Code Online (Sandbox Code Playgroud)
如果你想绕着字母表循环,只需要专门检查'a' - 如果是'则循环到'z',否则使用上面的方法.
这应该在某些情况下有效,您可能需要稍微调整一下:
function prevLetter(letter) {
return String.fromCharCode(letter.charCodeAt(0) - 1);
}
Run Code Online (Sandbox Code Playgroud)
如果letter是A,结果是@,所以如果你想让它变得万无一失,你需要添加一些健全性检查.否则应该做好工作.
Tatu评论的全部功能将是
function prevLetter(letter) {
if (letter === 'a'){ return 'z'; }
if (letter === 'A'){ return 'Z'; }
return String.fromCharCode(letter.charCodeAt(0) - 1);
}
Run Code Online (Sandbox Code Playgroud)