1. 程式人生 > >判斷兩個物件是否相同,判斷物件陣列中是否含有某個物件。

判斷兩個物件是否相同,判斷物件陣列中是否含有某個物件。

   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 )
實踐發現確實可以判斷,但是你的數組裡面的物件鍵值對的順序要一致,否則即使物件相同,鍵值對順序不同也會判斷不一樣。