I want to implement numbering scheme like Microsoft Word uses for numbering. first one gets = A,next is B, next is C, .... then AA, then AB,....and so on. as shown below
A
B
C
.
.
AA
AB
AC
.
.
AAA
AAB
....
'=>' here means converted to.
some examples:
1 => A
26 => Z
27 => AA
52 => AZ
53 => BA
and heres the code for it:
var convertToNumberingScheme = function(n){
var x = n-1,
r26 = x.toString(26),
baseCharCode = "A".charCodeAt(0);
var arr = r26.split(''),
len = arr.length;
var newArr =arr.map(function(val,i){
val = parseInt(val,26);
if( (i === 0) && ( len > 1)){
val = val-1;
}
return String.fromCharCode(baseCharCode + val);
});
return newArr.join('');
}
It seems to work fine, but any ideas if there are some potential bugs or ways to optimize this.
ul
orol
. \$\endgroup\$