Мне нужна функция для преобразования целого числа в эквивалентный индекс упорядоченного списка альфа.Например:
1 = a2 = б,,,26 = z27 = аа28 = ab,,и т.п.
В настоящее время у меня есть следующее, которое почти работает, но где-то есть небольшая логическая ошибка, которая делает его не совсем правильным (идет топор, да, bz , ba, bb, bc ...):
function intToAlpha( int ) {
var asciiStart = 97,
alphaMax = 26,
asciiCode,
char,
alpha = '',
place,
num,
i;
for ( i = 0; Math.pow(alphaMax, i) < int; i++ ) {
place = Math.pow(alphaMax, i);
num = Math.floor( ( int / place ) % alphaMax);
asciiCode = ( num == 0 ? alphaMax : num ) + asciiStart - 1;
char = String.fromCharCode(asciiCode);
alpha = char + alpha;
}
return alpha;
}
for (i = 1; i < 300; i++) {
console.log( i + ': ' + intToAlpha(i) );
}