我需要生成类似A, B, C, D, E, ..., X, Y, Z, AA, AB, AC, ...
的内容。
所以从1到n
(n是一个随机整数)。
如何在JavaScript中完成?可能有一个库已经这样做了吗?
答案 0 :(得分:2)
以下是根据此Code Review question中的一个答案改编的选项。这种方法的关键在于我们将您期望的序列识别为基本上是基本的26型数字。根据26,我的意思是每次"数字"数字循环通过26个字母,我们将字母向左递增一个(依此类推其他位置)。因此,我们可以简单地迭代输入数字并确定输出中每个位置的字母。
function IntToLetters(value) {
var result = '';
while (--value >= 0) {
result = String.fromCharCode(65 + value % 26 ) + result;
value /= 26;
}
return result;
}
console.log(IntToLetters(26));
console.log(IntToLetters(27));
console.log(IntToLetters(53));
console.log(IntToLetters(1000));