代码之家  ›  专栏  ›  技术社区  ›  Florian Müller

Javascript:查找字母表中的前一个字母

  •  9
  • Florian Müller  · 技术社区  · 15 年前

    如果我有一个JavaScript字母,我想按字母顺序找出前一个字母,所以如果输入是“C”,输出必须是“B”。有没有标准的解决方案,或者我必须创建一些特殊的功能?

    4 回复  |  直到 13 年前
        1
  •  14
  •   Ben Lee    15 年前
    var ch = 'b';
    String.fromCharCode(ch.charCodeAt(0) - 1); // 'a'
    

    如果你想在字母表周围循环,只需检查“a”--如果是,则循环到“z”,否则使用上面的方法。

        2
  •  5
  •   Tatu Ulmanen    15 年前

    这应该管用 一些 案例,你可能需要稍微调整一下:

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

    如果 letter A ,结果是 @

        3
  •  5
  •   Dave Taylor    15 年前

    塔图评论的全部功能是

    function prevLetter(letter) {
        if (letter === 'a'){ return 'z'; }
        if (letter === 'A'){ return 'Z'; }
        return String.fromCharCode(letter.charCodeAt(0) - 1);
    }
    
        4
  •  1
  •   thejh    15 年前

    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);
    }