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
,它的增量如下: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 > -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;i console.log(alpha)
您可以使用toString
和base36
转换为想要的字母
函数转换(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你知道怎么修吗?