我们只是说我希望变量的内容增加如下:1, 2, 3, 4, 5, 6, 7, 8, 9, 10
。但是,我们只是说我有变量,我希望他们的名字像这样增加:aaa, aab, aac, aad, aae, aaf, aag, aah, aai, aaj
。
换句话说,我想要一个可以创建以下内容的循环:
var aaa = 1;
var aab = 2;
var aac = 3;
var aad = 4;
var aae = 5;
var aaf = 6;
var aag = 7;
var aah = 8;
var aai = 9;
var aaj = 10;
只是说,变量名称部分的想法是,一旦它到达" aaz",它就可以继续到" aba",当它到达&#34时也是如此; azz",它将继续" zaa"。
答案 0 :(得分:4)
这是你可以做到的一种方式:
var s = "";
for (var i = 0, s = ""; i < 26; ++i)
for (var i2 = 0; i2 < 26; ++i2)
for (var i3 = 0; i3 < 26; ++i3)
s += "var " + String.fromCharCode(97+i) + String.fromCharCode(97+i2) + String.fromCharCode(97+i3) + " = " + (i*26*26+i2*26+i3)+";\r\n";
您可以通过调用eval(s)
一次创建所有变量。
警告:有些字母组合是KEYWORDS(如var new = 8914;
中的错误),如果您计划以这种方式执行,则eval()将失败。相反,您应该在这样的对象上设置值:
function createVariables(obj) {
for (var i = 0, s = ""; i < 26; ++i)
for (var i2 = 0; i2 < 26; ++i2)
for (var i3 = 0; i3 < 26; ++i3)
obj[String.fromCharCode(97+i) + String.fromCharCode(97+i2) + String.fromCharCode(97+i3)] = i*26*26+i2*26+i3;
return obj;
}
var vars = createVariables({});
您将总共拥有26 * 26 * 26或17576个变量。
答案 1 :(得分:2)
我认为它可以帮到你
var cars = ["a", "b", "c", "d"];
var count=1;
var text=new Array() ;
for (var i = 0 ; i < cars.length; i++) {
for (var j = 0 ; j < cars.length; j++){
for (var k = 0 ; k < cars.length; k++){
text.push([cars[i]+cars[j]+cars[k],count]);
count++;
}
}
}
for (var i = 0 ; i < text.length; i++) {
document.write(text[i][0]+'---'+text[i][1]+'<br>');
}