我有一个二维数组,我正在尝试删除重复项,我正在尝试使用 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
我如何比较这个?
最佳答案
Search for a specified value within an array and return its index (or -1 if not found).
因为你想grep/搜索对象最好的方法总是:
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, function (elementOfArray, indexInArray) {
return JSON.stringify(elementOfArray) == JSON.stringify(newData);
});
console.log(result.length);
newData = {data1: "01", data2: "03"};
result = $.grep(myArray, function (elementOfArray, indexInArray) {
return JSON.stringify(elementOfArray) == JSON.stringify(newData);
});
console.log(result.length);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
关于javascript - 二维数组不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38658408/