用字母递增字符串?

2024-03-31

我需要从...增加一个字符串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(使用前将#替换为@)

用字母递增字符串? 的相关文章

随机推荐