Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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_Jquery - Fatal编程技术网

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更新了答案。