javascript - 二维数组不起作用

标签 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" };

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

我如何比较这个?

最佳答案

inArray:

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/

相关文章:

javascript - :first-child and :last-child not working in owl carousel 2

javascript - 网站在 Safari 5.1 上无法正常显示

javascript - IE 中 jquery datepicker 输入上显示的光标 - 只读

arrays - laravel array_map 得到错误 "array_map(): Argument #2 should be an array"

Java:静态方法数组

c++ - 使用数组索引计算位置

javascript - 如何强制录制WebRTC音频的时间限制

javascript - 根据变量angular生成动态css

javascript - 如何在javascript中使用定时器?

javascript - 将一个元素从 div move 到另一个元素 - 不起作用