检查并将元素添加到数组中

时间:2015-07-08 12:41:35

标签: javascript jquery

如果数组中的元素不在数组中,如何将其添加到数组中?

var fruits = ["Banana", "Orange", "Apple", "Mango"];

我读到push()可用于添加项目,但我不确定如何检查项目是否已存在于数组中。

5 个答案:

答案 0 :(得分:3)

像这样:

var fruits = ["Banana", "Orange", "Apple", "Mango"];

if (fruits.indexOf('coconut') === -1) {
  fruits.push('coconut');
}

这将检查"椰子"在数组中,如果不是,那么indexOf将返回-1,这将导致if语句运行。因此推动椰子"进入阵列。

-1表示"未找到"。

要检查项目是否在数组中,请执行以下操作:

if (fruits.indexOf('coconut')) {
  return false;
}

答案 1 :(得分:3)

您可以使用jquery .inArray()

var fruits = ["Banana", "Orange", "Apple", "Mango"];

//check if is already in the array
if (jQuery.inArray("Banana", fruits) === -1) {
  fruits.push("Banana");
}

console.log(fruits);//prints out ["Banana", "Orange", "Apple", "Mango"]
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

答案 2 :(得分:1)

使用indexOf方法,您可以检查数组中给定元素的位置。如果返回-1,则它不在数组中。

if (fruits.indexOf('New item') === -1) {
  fruits.push('New item')
}

答案 3 :(得分:0)

indexOf()搜索数组中的特定元素,如果元素不存在则返回-1。 然后在检查之后可以使用push()

将元素放入数组中
   if(fruits.indexOf('element to be added') === -1)
             fruits.push('element to be added');

答案 4 :(得分:0)

首先,您应该检查项目是否存在。 为此使用.indexOf()函数。

如果没有,请使用.push()添加新项目。

DEMO

$(document).ready(function(){
    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    var item_to_enter="Grapes";
    var item_should_not_enter="Apple";

    if(fruits.indexOf(item_to_enter)<0)
    {
        fruits.push(item_to_enter);
    }
    if(fruits.indexOf(item_should_not_enter)<0)
    {
        fruits.push(item_should_not_enter);
    }
    console.log(fruits);
});