如何设置while循环计数器从1开始,而不是0

时间:2012-12-09 23:28:31

标签: javascript javascript-events

这是我的代码:

function listDesserts (){
    var dessertList = ["pudding", "cake", "toffee", "ice cream", "fudge", "nutella"];

    var i = 0;
    while (i< dessertList.length){
        var ul = document.getElementById("thelist");
        var nli = document.createElement("li");
        var nliID = 'item-' +i;
        nli.setAttribute('id', nliID);
        nli.setAttribute('class', 'listitem');
        nli.innerHTML = dessertList[i];
        ul.appendChild(nli);
        i++;
    }
}

由于我根据数组中的数字项设置li标签ID,因此我将其设置为零。相反,我想修改i,以便它设置以1开头的ID而不跳过第一个数组成员。我尝试过一些东西,但我想念它。任何人

2 个答案:

答案 0 :(得分:2)

在迭代数组时,计数器变量应始终从0运行到length-1。其他解决方案是可行的,但是反直觉。

如果您在该阵列中有一些基于单一的编号,只需在您需要的地方使用i+1;在您的情况下'item-'+(i+1)

顺便说一下,您可以使用for-loop代替while

答案 1 :(得分:1)

使用var i = 1;

并使用当前i-1

i
var i = 1;
while (i< dessertList.length-1){
    var ul = document.getElementById("thelist");
    var nli = document.createElement("li");
    var nliID = 'item-' + (i-1);    //<----- here
    nli.setAttribute('id', nliID);
    nli.setAttribute('class', 'listitem');
    nli.innerHTML = dessertList[i-1];    //<----- and here
    ul.appendChild(nli);
    i++;
}