开发者

for Loop with if-else statement

I would like to ask some logic question here.

Let say I have a for loop in javascript to remove the whole items:-

var i = 0;
for (i=0;i<=itemsAll;i++) {
    removeItem(i);
}

I do not want to remove item when i = current = e.g. 2 or 3开发者_运维百科.

how do I or where do I add a if-else statement in this current for loop?

Please help, anyone?


Iterate over it in reverse order and only remove the items which does not equal the current item.

var current = 2;

var i = 0;
for (i=itemsAll-1;i>=0;i--) {
    if (i != current) {
        removeItem(i);
    }
}

I probably should have stated the reason for the reverse loop. As Hans commented, the loop is done in reverse because the 'removeItem' may cause the remaining items to be renumbered.


You can use an if test in your for loop as already suggested, or you can split your for loop in two.

x = Math.min(current, itemsAll);
for(i=0;i<x;++i){
   removeItems(i);
}
for(i=x+1; i<itemsAll;++i)
{
   removeItems(i);
}


We can solve the problem using continue statement too.Detail about continue can be found here and a very simple use of continue can be seen here

var current = 2;
for(var i = 0; i<=itemsAll; i++) {
    if( i === current) { continue; }
    removeItem(i);
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜