我需要创建一个由字母和数字组合组成的系列,通过字母表反转,9-0如下:
ZZZ
ZZY
ZZX
.
.
ZZ9
ZZ8
.
.
ZZ0
ZYZ
ZXZ
.
.
.
AAA
999
.
.
.
000
答案 0 :(得分:1)
以下代码将打印出从ZZZ到AAA的系列:
var d1=91, d2=90, d3=90;
while(d1+d2+d3>195){
if(d1>65) d1--;
else if(d2>65){d2--;d1=90;}
else{d3--;d2=d1=90;}
console.log(String.fromCharCode(d3)+String.fromCharCode(d2)+String.fromCharCode(d1));
}
您可以在以后添加以下代码以打印999到000之间的系列:
var d1=10, d2=9, d3=9;
while(d1+d2+d3>0){
if(d1>0) d1--;
else if(d2>0){d2--;d1=9;}
else{d3--;d2=d1=9;}
console.log(d3+''+d2+''+d1);
}
答案 1 :(得分:0)
一个选项,Base36(您需要将0..999作为例外并添加填充)
前100:
var ZZZ = 46655;
for (var i = ZZZ; i > ZZZ - 100; i--)
console.log(i.toString(36).toUpperCase());
答案 2 :(得分:0)
你可以用这样的简单嵌套循环来做到这一点:
var options = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
for(var i=options.length-1; i>=0; i--) {
for(var j=options.length-1; j>=0; j--) {
for(var k=options.length-1; k>=0; k--) {
console.log(options[i] + options[j] + options[k]);
}
}
}
这是fiddle。