Javascript 检查并将元素添加到数组中
如果元素不在数组中,如何将其添加到数组中Javascript 检查并将元素添加到数组中,javascript,jquery,Javascript,Jquery,如果元素不在数组中,如何将其添加到数组中 var fruits = ["Banana", "Orange", "Apple", "Mango"]; 我了解到push()可以用于添加项目,但我不确定如何检查项目是否已在数组中。如下所示: var fruits = ["Banana", "Orange", "Apple", "Mango"]; if (fruits.indexOf('coconut') === -1) { fruits.push('coconut'); } if (frui
var fruits = ["Banana", "Orange", "Apple", "Mango"];
我了解到push()可以用于添加项目,但我不确定如何检查项目是否已在数组中。如下所示:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
if (fruits.indexOf('coconut') === -1) {
fruits.push('coconut');
}
if (fruits.indexOf('New item') === -1) {
fruits.push('New item')
}
这将检查数组中是否有“cocoy”,如果没有,则indexOf
将返回-1
,这将导致if语句运行。因此将“椰子”推入阵列
if (fruits.indexOf('New item') === -1) {
fruits.push('New item')
}
-1
表示“未找到”
要检查项目是否在数组中,只需执行以下操作:
if (fruits.indexOf('coconut')) {
return false;
}
使用
indexOf
方法,可以检查给定元素在数组中的位置。如果返回-1
,则它不在数组中
if (fruits.indexOf('New item') === -1) {
fruits.push('New item')
}
indexOf()
搜索数组中的特定元素,如果元素不存在,则返回-1。
然后在检查是否可以使用push()将元素放入数组后
if(fruits.indexOf('element to be added') === -1)
fruits.push('element to be added');
您可以使用jquery
var水果=[“香蕉”、“橘子”、“苹果”、“芒果”];
//检查是否已在阵列中
if(jQuery.inArray(“香蕉”,水果)=-1){
水果。推(“香蕉”);
}
原木(水果)//打印出[“香蕉”、“橘子”、“苹果”、“芒果”]
首先,您应该检查要输入的项目是否存在。
为此,请使用.indexOf()
函数
如果没有,请使用.push()
添加新项目
$(文档).ready(函数(){
var水果=[“香蕉”、“橙子”、“苹果”、“芒果”];
var item_to_enter=“Grapes”;
var项目不应输入=“苹果”;
如果(fruits.indexOf(item_to_enter)为什么add()
而不是push())
?@Bekki这是一个错误,抱歉。谢谢。你能简单地说一下为什么====
而不是==
,以及-1
为什么要用jQuery来完成这么简单的任务吗?如果jQuery还没有被使用,那就有点过火了。当你不知道inArray()的参数时,我会说的可读性也不如。但这是一个很好的解决方案。@Mateutek确保它将是跨浏览器的compatible@Bekkijs中的=
将按类型进行比较。还有.inArray()当给定元素在数组中不表示时,
方法返回-1
。IE8中可能存在的indexOf
重复项存在已知问题。您使用的是jQuery,因此可以安全地使用jQuery.inArray()。谢谢。如何检查元素是否不在数组中?@Bekki更新了答案。