我需要从...增加一个字符串aaa
to zzz
并在控制台中写下每个增量(增量是一个词吗?)。事情会是这样的:
aaa
aab
aac
...
aaz
aba
abb
abc
...
abz
aca
acb
等等。到目前为止,我已经通过这样做增加了一个字母:
String.prototype.replaceAt = function(index, character) {
return this.substr(0, index) + character + this.substr(index+character.length);
}
string = "aaa";
string = string.replaceAt(2, String.fromCharCode(string.charCodeAt(2) + 1));
//string == "aab"
然而,当谈到最后一封信时,我迷失了z
然后它应该增加字母 2 (索引 1)并将最后一个字母重置为a
.
有谁知道或知道一个聪明的解决方案吗?谢谢!
将字符串视为基数 36 的数字。
将其转换为十进制,加 1,转换回基数 36,并将所有零替换为字母“a”:
var str= 'aaa',
s= str;
while(str!=='zzz') {
str= ((parseInt(str, 36)+1).toString(36)).replace(/0/g,'a');
s+= ' '+str;
}
document.body.innerHTML= s;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)