Я хочу иметь возможность считать в базе 26, но только с буквами алфавита.
Я могу охватить основы, такие как A + 1 = B
и Z + 1 = AA
, но я хочу, чтобы это работало дляочень длинные «числа», такие как AZZEBERBZZ
В настоящее время у меня есть следующий код в JavaScript
function getNextColumn(currentColumn) {
currentColumn = currentColumn.toUpperCase();
let lastLetterCode = currentColumn.charCodeAt(currentColumn.length - 1);
if(lastLetterCode < 90) {
return currentColumn.slice(0, -1) + String.fromCharCode(lastLetterCode + 1);
} else {
return currentColumn.slice(0, -1) + "A";
}
}
Но проблема в том, что когда я нахожусь на AZ
, он просто возвращается AAA
вместо BA
Как я могу решить эту проблему?
ДОПОЛНИТЕЛЬНЫЙ КОНТЕКСТ:
Мне нужна функция getNextColumn
, потому что я использую эту функцию для циклического перемещения пообъект, созданный из листа Excel, где столбцы учитываются в base26
, но только с буквами и без цифр