Javascript:找出以前的字母表中的字母

时间:2010-11-04 09:00:56

标签: javascript

如果我在JavaScript中收到一封信,我想按字母顺序查找上一个字母,所以如果输入为“C”,则输出必须为“B”。有没有标准解决方案,还是我必须创建一些特殊功能?

4 个答案:

答案 0 :(得分:14)

var ch = 'b';
String.fromCharCode(ch.charCodeAt(0) - 1); // 'a'

如果你想循环使用字母表,只需要专门检查'a' - 如果是'则循环到'z',否则使用上面的方法。

答案 1 :(得分:5)

这应该适用于某些案例,您可能需要稍微调整一下:

function prevLetter(letter) {
    return String.fromCharCode(letter.charCodeAt(0) - 1);
}

如果letterA,则结果为@,因此如果您希望它是万无一失的,则需要添加一些健全性检查。否则应该做好工作。

答案 2 :(得分:5)

Tatu评论的全部功能将是

function prevLetter(letter) {
    if (letter === 'a'){ return 'z'; }
    if (letter === 'A'){ return 'Z'; }
    return String.fromCharCode(letter.charCodeAt(0) - 1);
}

答案 3 :(得分:1)

这样的事情应该有效。

function prevLetter(letter) {
    var code = letter.charCodeAt(0);
    var baseLetter = "A".charCodeAt(0); 
    if (code>"Z".charCodeAt(0)) {
        var baseLetter = "a".charCodeAt(0); 
    }
    return String.fromCharCode((code-baseLetter+25)%26+baseLetter);
}