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


 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 ) 实践发现确实可以判断,但是你的数组里面的对象键值对的顺序要一致,否则即使对象相同,键值对顺序不同也会判断不一样。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM