2014-10-27 68 views
0

所以我们的目标是要具备以下条件:递增和重复数在Java脚本一个增量循环3次

k_1_1 
k_1_2 
k_1_3 

k_2_4 
k_2_5 
k_2_6 

k_3_7 
and so on 

我至今是:

但我认为我的方式关....

while (var qi = 0; qi <= 9; qi++) { 
    for(var ai = 0; ai <= 3; ai++) { 
    var thisName = "k_" + ai + "_" + qi; 
    var thisValue = ""; 
    localStorage.setItem(thisName, thisValue); 
    } 
} 

任何帮助将被apreciated。

谢谢

+1

更改外'while'到'for',启动'qi'和'ai'在1而不是0。http://jsfiddle.net/6xuj402n/ – 2014-10-27 19:24:48

回答

1

无需两个回路,如果你用一点点巧思:

for (var i = 0; i <= 9; i++) { 

    var thisName = "k_" + (Math.floor(i/3)+1) + "_" + (i+1); 

    var thisValue = ""; 
    localStorage.setItem(thisName, thisValue); 
} 
0

您正在使用While循环与For循环参数。 while循环保持循环条件为TRUE。为什么不切换到For循环像这样(另外,你的气血和AI切换):

for(var qi = 1; qi <= 9; qi++) { 
for(var ai = 1; ai <= 3; ai++) { 
    var thisName = "k_" + qi + "_" + ai; 
    var thisValue = ""; 
    localStorage.setItem(thisName, thisValue); 
} 
} 
0

另一种解决方案:

for (var ai = 1; ai <= (27) ; ai++) { // 27 was picked arbitrarily (3 * 9) 
             // set to what ever upper limit you need 

    // the ceiling of the current ai number divided by 3 will give you your qi 
    var qi = Math.ceil((ai/3)); 

    //setting your values 
    var thisName = "k_" + qi + "_" + ai; 
    var thisValue = ""; 

    //reporting 
    console.log(thisName, thisValue); 
}