Javascript 带if-else语句的for循环

Javascript 带if-else语句的for循环,javascript,loops,Javascript,Loops,我想问一些逻辑问题 假设我在javascript中有一个for循环来删除整个项目:- var i = 0; for (i=0;i<=itemsAll;i++) { removeItem(i); } var i=0; 对于(i=0;i,您可以按照前面的建议在for循环中使用if测试,也可以将for循环一分为二 x = Math.min(current, itemsAll); for(i=0;i<x;++i){ removeItems(i); } for(i=x+1; i

我想问一些逻辑问题

假设我在javascript中有一个for循环来删除整个项目:-

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

对于(i=0;i,您可以按照前面的建议在for循环中使用if测试,也可以将for循环一分为二

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

对于(i=0;i按相反顺序迭代,只删除与当前项不相等的项

var current = 2;

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

我可能应该说明反向循环的原因。正如Hans评论的那样,循环是反向进行的,因为“removeItem”可能会导致剩余的项目重新编号。

我们也可以使用continue语句来解决问题。可以找到有关continue的详细信息以及continue的一个非常简单的用法>可见

var电流=2;

对于(var i=0;ii)如果从0开始i,则应使用
i
而不是
+1进行反向循环,因为'removietem'可能会导致剩余的项重新编号。尽管循环可能应从
itemAll-1开始,并在
i>=0
时继续。
var current = 2;
for(var i = 0; i<=itemsAll; i++) {
    if( i === current) { continue; }
    removeItem(i);
}