Javascript 循环遍历整个数组,同时排除项

Javascript 循环遍历整个数组,同时排除项,javascript,arrays,for-loop,Javascript,Arrays,For Loop,我有一个项目数组,我想循环并应用一些代码,不包括一个项目(单击的项目)。我尝试过使用splice,但我不想删除数组项,只需跳过它即可。在本例中,我尝试删除每个项目的CSS类,但排除的项目除外 我已经尝试了几种方法,其中一种不是我所需要的。我也尝试过类似if(array[I]==3 | | |(I-1)=2{continue;else{…}的方法,但似乎无法实现 var array = ["item1", "item2", "item3"]; var i; for (i = 0;

我有一个项目数组,我想循环并应用一些代码,不包括一个项目(单击的项目)。我尝试过使用splice,但我不想删除数组项,只需跳过它即可。在本例中,我尝试删除每个项目的CSS类,但排除的项目除外

我已经尝试了几种方法,其中一种不是我所需要的。我也尝试过类似if(array[I]==3 | | |(I-1)=2{continue;else{…}的方法,但似乎无法实现

   var array = ["item1", "item2", "item3"];
   var i;
   for (i = 0; i < items.length; i++) {
       if(array[i] is the excluded one){
               skip over}
    else { $(items[i]).removeClass('class');
    }
var数组=[“项目1”、“项目2”、“项目3”];
var i;
对于(i=0;i
没有错误消息,只是没有按预期工作。

使用

在以下示例中,我们希望排除“item2”和固定变量命名/引用:

var items=[“item1”、“item2”、“item3”];
var i;
对于(i=0;i”;

}
数组项是元素的id吗?-如果是,您需要代码中的id指示器(“
”)

$('#' + items[i]).removeClass('class')
编辑-我刚刚注意到您的数组被称为“数组”,但在else块中,您将其称为items

   var items= ["item1", "item2", "item3"];
   var i;
   for (i = 0; i < items.length; i++) {
       if(items[i] is the excluded one){
               skip over}
    else { $('#' + items[i]).removeClass('class');
    }
var items=[“item1”、“item2”、“item3”];
var i;
对于(i=0;i

我仍然认为有一种更好的方法可以做到这一点,但试着把名字改成相同的名字,看看效果如何。

我认为这样的东西正是你需要的:

<script type="text/javascript">
    $(document).ready(function(){
        $(".click").click(function(){ //When item with class click is clicked
               var items = ["item1", "item2", "item3"];
               var i;
               var itemid = this.id;
               for (i = 0; i < items.length; i++) { //go through array
                    if(items[i]==itemid){ //check if array item is the same as id of the class click
                        // Don't do anything, this is the one you clicked
                    }else{
                        $("#"+items[i]).removeClass('removeme'); // Remove class of all other with class click
                    }
               }
        });
    });
</script>
<div class="item1 click removeme" id="item1">Test1</div>
<div class="item2 click removeme" id="item2">Test2</div>
<div class="item3 click removeme" id="item3">Test3</div>

$(文档).ready(函数(){
$(“.click”)。单击带有类click的项时,单击(函数(){//
变量项=[“项1”、“项2”、“项3”];
var i;
var itemid=this.id;
对于(i=0;i
函数式编程的优雅方式:

const array = ["item1", "item2", "item3"];

// item to ignore
const ignore = "item2";

// use filter to keep only items which are not ignored
const newarray = array.filter((e)=> { return e !== ignore } );

// iterate over remaining
newarray.forEach((e)=> { $(e).removeClass("class"); });

您可以包括HTML和单击函数吗?请添加一个(包括所有相关标记、事件处理程序、设置代码等)来显示实际问题。看起来像jquery,为什么不像
$('.commonClass')。而不是(itemClass)。removeClass('class'))
你能发布一些你尝试过的代码,看起来更像不会导致语法错误吗?你的
如果(数组[i]==3 | |(i-1)=2){继续;否则{……}
如果您想知道如何知道当前项目是否为排除的项目,或者如何跳过该项目,示例会更好一些。谢谢,我尝试了类似的方法,但没有给出我需要的结果。超级干净和简单。