Javascript:将项目推送到数组中;不起作用

Javascript: Pushing items to an Array doesn't work

本文关键字:数组 不起作用 项目 Javascript      更新时间:2023-09-26

我基本上是在尝试循环遍历一个数组,以检查一个项目是否已经存在:

如果项目存在,删除它的

如果项目不存在,推送到阵列

但是,我的代码只允许我添加一个项。它忽略了我试图添加的所有其他值。

var inclfls = []; //new empty array
function addfile(val) {
 if (inclfls.length != 0) {
        for (var i = 0; i < inclfls.length; i++) {
            if (inclfls[i] == val) {
                a.style.background = "#999";
                inclfls.splice(i, 1); //remove it
            }
            else {
                a.style.background = "#2ECC71";
                inclfls.push(val); //push it
            }
        }
    }
    else {
        a.style.background = "#2ECC71";
        inclfls.push(val);
    }
    alert(inclfls.length);
}

我做错了什么?

使用数组方法,它要简单得多:

function addfile(val) {
  var index=inclfls.indexOf(val);
  if(index===-1){ 
   inclfls.push(val); 
   a.style.background = "#999";
  }else{ 
    inclfls.splice(index,1);
    a.style.background = "#2ECC71";
 }
}