我需要一个类似于这里解释的功能......
用于写出单词的 JS 函数,二进制计数器风格 https://stackoverflow.com/questions/2328018/js-function-for-writing-out-a-word-binary-counter-style
...但使用基数 7(或其他)生成(计数)从 A 到 G 的字母
就像这样...
---a
---b
---c
---d
---e
---f
---g
--aa
--ab
--ac
--ad
--ae
--af
etc. up to gggg
有没有一种简单的方法来改变其中一个函数来实现这一点?
附注这很酷...
他们用...
var iterations = Math.pow(2,str.length)
and Math.pow(string.length,2)
它们都有效,但只是因为字符串长度为 4,基数为 2
无意中正确
i.e 4^2=16 2^4=16
如果使用任何其他字符串长度,其中之一就会出错。
i.e. 2^10=1024 10^2=100
也许这是一个开始:工作演示 http://jsfiddle.net/BzBnr/
它基本上只需要一个数字并将其转换为以 7 为基数的数字:
var map = 'abcdefg';
var n = 13
var out = '';
if(n == 0) out = map.charAt(0) + out;
while (n > 0) {
out = map.charAt(n % 7) + out;
n = Math.floor(n / 7);
}
// gives "bg" for 13
这意味着在十进制系统中维护一个正常的计数器并转换每个数字。
注意aa
在这个系统中不存在,因为a
映射到0
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)