如果数组中的元素不在数组中,如何将其添加到数组中?
var fruits = ["Banana", "Orange", "Apple", "Mango"];
我读到push()可用于添加项目,但我不确定如何检查项目是否已存在于数组中。
答案 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()
添加新项目。
$(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);
});