判断两个对象是否相同,判断对象数组中是否含有某个对象。
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。
- 上一篇: css盒模型(IE和标准)
- 下一篇:没有了