Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.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 inArray二维不起作用_Javascript_Jquery_Arrays - Fatal编程技术网

Javascript inArray二维不起作用

Javascript inArray二维不起作用,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有一个二维数组,我正在尝试删除重复项,我正在尝试使用jquery函数inArray来完成 这是我的阵列: var myArray = [ { data1 : "01" , data2 : "02" }, { data1 : "01" , data2 : "03" }, { data1 : "01" , data2 : "02" } ]; var newData = { data1 : "01" , data2 : "02" }

我有一个二维数组,我正在尝试删除重复项,我正在尝试使用jquery函数inArray来完成

这是我的阵列:

var myArray = [ { data1 : "01" , data2 : "02" },  
                { data1 : "01" , data2 : "03" },
                { data1 : "01" , data2 : "02" } ];
var newData = { data1 : "01" , data2 : "02" };

console.log($.inArray(newData, myArray));
   -1

我如何比较这一点?

它无法工作,因为对象不同。。。例如,它可以这样工作:

var myArray=[{data1:“01”,data2:“02”},
{data1:“01”,data2:“03”},
{data1:“01”,data2:“02”}];
var newData=myArray[0];
log($.inArray(newData,myArray))
:

在数组中搜索指定的值并返回其索引(如果未找到,则返回-1)

因为您希望/搜索对象,所以最好的方法始终是:

JSON.stringify(elementOfArray) == JSON.stringify(newData)
因此,在jQuery中,您可以过滤或grep具有相同内容的所有元素:

var myArray=[{data1:“01”,data2:“02”},
{data1:“01”,data2:“03”},
{data1:“01”,data2:“02”}];
var newData={data1:“01”,data2:“02”};
var result=$.grep(myArray,函数(elementOfArray,indexInArray){
返回JSON.stringify(elementOfArray)==JSON.stringify(newData);
});
console.log(结果.长度);
newData={data1:“01”,data2:“03”};
结果=$.grep(myArray,函数(elementOfArray,indexInArray){
返回JSON.stringify(elementOfArray)==JSON.stringify(newData);
});
console.log(结果.长度)

以及所需的输出是什么?