Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:将项目推送到数组中不会';行不通_Javascript_Html_Arrays - Fatal编程技术网

Javascript:将项目推送到数组中不会';行不通

Javascript:将项目推送到数组中不会';行不通,javascript,html,arrays,Javascript,Html,Arrays,我基本上是在尝试循环一个数组来检查一个项是否已经存在: 如果项目存在,请删除它 如果该项不存在,将其推送到数组中 但是,我的代码只允许我添加一项。它忽略了我试图添加的所有其他值 var inclfls = []; //new empty array function addfile(val) { if (inclfls.length != 0) { for (var i = 0; i < inclfls.length; i++) { if (inc

我基本上是在尝试循环一个数组来检查一个项是否已经存在:

如果项目存在,请删除它

如果该项不存在,将其推送到数组中

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

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);
}
var inclfls=[]//新的空数组
函数addfile(val){
如果(包括长度!=0){
对于(变量i=0;i

我做错了什么?

对于数组方法,它更简单:

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";
 }
}

使用数组方法,它更简单:

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";
 }
}

在检查整个阵列之前,不要修改任何内容。在第一个不匹配项上,将其添加到数组中,然后将其添加到数组中。事实上,你为每一个不匹配项添加它?“如果该项存在,请删除它”对于一个名为
addfile
的函数来说,这似乎是一件非常奇怪的事情;Don’别粗鲁O@T.J.Crowder.dandavis对此表示抱歉:)删除评论@T.J.Crowder在检查整个阵列之前不要修改任何内容。在第一个不匹配项上,将其添加到数组中,然后将其添加到数组中。事实上,你为每一个不匹配项添加它?“如果该项存在,请删除它”对于一个名为
addfile
的函数来说,这似乎是一件非常奇怪的事情;Don’别粗鲁O@T.J.Crowder.dandavis对此表示抱歉:)删除评论@T.J.Crowder注意
indexOf
使用
=
比较。OP正在使用
==
。使用
==
可能很好,但值得注意。完美!!简单明了的代码。谢谢dandavis和@T.J.Crowder。我会在3分钟内接受这个mins@T.J.Crowder:说得好。我们无法从OP中区分项目类型,但是是的,这可能不重要,或者实际上更好,因为OP的代码将从
[1,2,3]
中删除
1
[1]
,注意
索引使用
==
比较。OP正在使用
==
。使用
==
可能很好,但值得注意。完美!!简单明了的代码。谢谢dandavis和@T.J.Crowder。我会在3分钟内接受这个mins@T.J.Crowder:说得好。我们无法从OP中区分项目类型,但是的,这可能无关紧要,或者实际上更好,因为OP的代码将从
[1,2,3]
中删除
“1”
[1]