Home  >  Q&A  >  body text

javascript算法题,26个字母和数字转换,怎么做?

找出下面代码的规律并且编写一个函数,转换特定的整数到对应的字符串。
1 => A,2 => B,3 => C,...,26 => Z,27 => AA,28 => AB,29 => AC,...,52 => AZ,53 => BA,...

function convert (num) {
} 

convert函数怎么写?这道题怎么做?有会的吗?

伊谢尔伦伊谢尔伦2750 days ago1163

reply all(11)I'll reply

  • 巴扎黑

    巴扎黑2017-04-11 12:46:31

    function transformChars(s) {
        var chars = ["A", "B", "C", "D", "E", "F", "G",
            "H", "I", "J", "K", "L", "M", "N",
            "O", "P", "Q", "R", "S", "T", "U",
            "V", "W", "X", "Y", "Z"
        ];
    
        function getCharIndex(string) {
            var strings = string.trim().split("");
            var indexs = [];
            var temp = [];
            var result = 0;
            for (var i = 0; i < strings.length; i++) {
                indexs.push(chars.indexOf(strings[i]) + 1);
            }
            for (var i = 0; i < indexs.length; i++) {
                if (i === indexs.length - 1) {
                    temp.push(indexs[i])
                } else {
                    temp.push(indexs[i] * chars.length + (i === 0 ? 0 : Math.pow(chars.length, i+1) - 26 )) 
                }
            }
            for (var i = 0; i < temp.length; i++) {
                result += temp[i]
            }
            return result;
        }
        return getCharIndex(s)
    }
    
    transformChars("BC")

    reply
    0
  • Cancelreply