判断对象数组中是否含有某个对象。

 var json1 = { 
addroleData: [
{ key:1, label:'' },
{ label:'', key:2 },
{ key:3, label:'' },
{ key:3, label:'' },
{ key:4, label:'' }]
};

var json2 = { addroleData: [{ label:'', key:1 },{ key:2, label:'' }] };
function mergeArr(json1, json2)
{

  var keyArr = [];

  for(var i = 0; i< json1.length; i++) {

  if ( JSON.stringify(json2).indexOf(JSON.stringify(json1[i])) == -1 ) {
      keyArr.push(i); }
    } return keyArr;
  } console.log(mergeArr(json1.addroleData, json2.addroleData));

判断的主要在于if ( JSON.stringify(json2).indexOf(JSON.stringify(json1[i])) == -1 ) 实践发现确实可以判断,但是你的数组里面的对象键值对的顺序要一致,否则即使对象相同,键值对顺序不同也会判断不一样。
原文地址:https://www.cnblogs.com/xielideboke/p/10001134.html