需求
现在有一个需求,就是判断两个对象是否完全相同,那么你知道应该怎么去做嘛
代码展示
const a = {
a: 12,
b: 13,
c: {
a: 1,
b: 2,
}
}
const b = {
b: 13,
c: {
a: 1,
b: 2
},
a: 12,
}
// true 不一样 false一样
function isDiff(o1, o2) {
return !(JSON.stringify(o1) === JSON.stringify(Object.assign(o1, o2)))
}
console.log(isDiff(a, b))
这个办法适用于99%的业务场景,唯一不适合的就是如果对象中有函数、Map、Date这样的数据,恐怕就会把一些不相同的误判成相同的了。
那么最完善的方案还是不断的递归比对,但是那样很浪费时间复杂度,所以上面这个办法还是可行的