Javascript 设置字母表变量(如Excel列)的优雅方式

Javascript 设置字母表变量(如Excel列)的优雅方式,javascript,Javascript,我正在寻找一种很好的方法来获得一个变量alpha,它的增量如下:whenx=0->alpha=“a”x=1->alpha=“B”x=25->alpha=“Z”x=26->alpha=“AA”x=27->alpha=“AB”使用方法并使用字符代码生成字符串 // initialize as empty string var alpha = ''; // iterate upto value is reaching -1 since index starts from 0 while (x >

我正在寻找一种很好的方法来获得一个变量
alpha
,它的增量如下:when
x=0->alpha=“a”
<代码>x=1->alpha=“B”<代码>x=25->alpha=“Z”<代码>x=26->alpha=“AA”
x=27->alpha=“AB”

使用方法并使用字符代码生成字符串

// initialize as empty string
var alpha = '';
// iterate upto value is reaching -1 since index starts from 0
while (x > -1) {
  // get charactor by finding remainder 
  // and concatenate it with alpha
  alpha = String.fromCharCode(65 + x % 26) + alpha;
  // update value of variable x 
  // decrement by 1 since index starts from 0
  x = Math.floor(x / 26) - 1;
}
[1,28,25,26,27,3335,12,10,3,6,0].forEach(函数(x){
varα=“”;
而(x>-1){
alpha=String.fromCharCode(65+x%26)+alpha;
x=数学楼层(x/26)-1;
}
控制台日志(alpha);

});已编辑

好的,对不起,我一开始不明白你的需要。这是一个工作代码

试试这个:

var x=807;
varα=“”;
var alphabetLength=26;
变量y=x.toString(字母长度);
chars=y.分割(“”);
对于(变量i=0;iconsole.log(alpha)
您可以使用
toString
和base
36
转换为想要的字母

函数转换(n){
var结果=“”;
做{
结果=(n%26+10);
n=数学楼层(n/26)-1;
}而(n>=0)
返回result.toUpperCase();
}
//A B Z AA AB CZ DXH
log([0,1,25,26,27,103,3335].map(转换))

.as控制台包装{max height:100%!important;top:0;}
认为这很好,但不起作用。。。在“AZ”之后,您将获得“AAA”而不是“AB”@n请立即尝试。我当时误解了你的问题first@Null你知道怎么修吗?