【发布时间】:2012-06-18 19:07:08
【问题描述】:
这可能是一个不寻常的请求,但对于我的脚本,我需要一个按字母而不是数字递增的函数。例如:
这是一个数字示例:
var i = 0;
while(condition){
window.write('We are at '+i);
++i;
}
基本上,我想用字母来计数,就像 Microsoft Excel 所做的那样,而不是数字。所以不是打印“我们在 0”、“我们在 1”、“我们在 2”等,我需要打印“我们在 A”、“我们在 B”、“我们在C”等
为了模仿 Excel(我能想到的唯一示例),在达到索引 25 (Z) 后,我们可以继续使用“AA”、“AB”、“AC”等。
所以它会像这样工作得很好:
var i = 0;
while(condition){
window.write('We are at '+toLetter(i));
++i;
}
如果有人可以编写一个函数,然后将字母转换回数字,那就更好了,即 toNumber('A') = 0 或 toNumber('DC') = 107(我认为)。
谢谢!
【问题讨论】:
-
抱歉,您尝试了什么?到目前为止,这对我来说似乎是一项家庭作业。
-
所以你需要写toNumber()和toLetter()。这看起来像一个非常简单的算法任务。向我们展示您的尝试。
-
您可以构建一个字母数组,然后将您的计数与数组中的键进行比较(确保补偿“0”位置)。如果你的计数从零开始,那么你很好。
-
我通过考虑以 26 为基数找到了解决方案。frugalcoder.us/post/2011/02/24/…
-
那个代码很糟糕。它将数字转换为字符串,然后返回并修复它。直接转换它会更好(也更容易)。
标签: javascript count numbers counter