入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

判断两个对象是否相同,判断对象数组中是否含有某个对象。

创建时间:2018-03-09 投稿人: 浏览次数:374
   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 )
实践发现确实可以判断,但是你的数组里面的对象键值对的顺序要一致,否则即使对象相同,键值对顺序不同也会判断不一样。

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。