for if with if语句

时间:2010-07-19 05:01:08

标签: javascript loops

我想在这里问一些逻辑问题。

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

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

当i = current =例如,我不想删除项目2或3。

我如何或在何处在此当前for循环中添加if-else语句?

请帮忙,有人吗?

3 个答案:

答案 0 :(得分:8)

以相反的顺序迭代它,只删除不等于当前项目的项目。

var current = 2;

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

我可能应该说明反向循环的原因。正如Hans评论的那样,循环是反向完成的,因为'removeItem'可能导致剩余的项重新编号。

答案 1 :(得分:0)

您可以按照建议的方式在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);
}

答案 2 :(得分:0)

我们也可以使用 continue 语句来解决问题。可以找到有关“继续”的详细信息here,可以看到继续的非常简单的使用{{ 3}}

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