判斷對象數組中是否含有某個對象。


 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