如何检查数组Javascript中是否包含变量值

如何检查数组Javascript中是否包含变量值,javascript,arrays,Javascript,Arrays,我有一个ifElseif语句,它使用基于presentationID的jquerysortable将元素添加到列表中。我想防止同一元素被添加多次 我想到的想法是创建一个名为“decordentList”的数组,在ifElseif语句之前,使用一个单独的if语句检查presentationID是否已经包含在数组中,它不会在第一次循环中。然后执行ifElseif语句,最后将当前presentationID添加到数组中。这是我到目前为止所拥有的 function presentationAddTo

我有一个ifElseif语句,它使用基于presentationID的jquerysortable将元素添加到列表中。我想防止同一元素被添加多次

我想到的想法是创建一个名为“decordentList”的数组,在ifElseif语句之前,使用一个单独的if语句检查presentationID是否已经包含在数组中,它不会在第一次循环中。然后执行ifElseif语句,最后将当前presentationID添加到数组中。这是我到目前为止所拥有的

  function presentationAddToAgenda(presentationId)
           {    

              var disregardList = new Array();

                 if (disregardList[i] != presentationId) 
                    {
                       ifElseif statement.......
                       {
                       Blaa Blaa Blaa 

                       disregardList.push("presentationId");

                    }
            };

您提到您正在使用jQuery,因此可以使用
jQuery.inArray()
函数测试该值是否已经在忽略列表中,如下所示:

if ($.inArray(presentationId, disregardList) == -1) { // -1 means not found
    // do stuff
}

您提到您正在使用jQuery,因此可以使用
jQuery.inArray()
函数测试该值是否已经在忽略列表中,如下所示:

if ($.inArray(presentationId, disregardList) == -1) { // -1 means not found
    // do stuff
}

Matt在下面的回答似乎是合理的,因为您已经在使用jQuery,但是较新的浏览器也有本机的
Array.indexOf()
方法。Matt在下面的回答似乎是合理的,因为您已经在使用jQuery,但是较新的浏览器也有本机的
Array.indexOf()
方法。是否有必要在数组中循环它?此外,我不确定在推送到数组时是否应该删除presentationID变量周围的引号。引用某个变量会使其成为字符串,而不是变量,因此,是的,您应该删除引号,$。inArray在内部执行循环。嘿,代码正在运行(我可以添加到表中)但它仍然允许同一元素的倍数。很明显,推送并没有像我想要的那样发挥作用。推送列表(presentationId);正如我在if语句之前所说的,仍然在添加元素。是否有必要在数组中对其进行for循环?此外,我不确定在推送到数组时是否应该删除presentationID变量周围的引号。引用某个变量会使其成为字符串,而不是变量,因此,是的,您应该删除引号,$。inArray在内部执行循环。嘿,代码正在运行(我可以添加到表中)但它仍然允许同一元素的倍数。很明显,推送并没有像我想要的那样发挥作用。推送列表(presentationId);正如我在前面所说,if语句和元素仍在添加中。