···js/ts
function isObjEqual(a: any, b: any) {
const aKeys = Reflect.ownKeys(a)
const bKeys = Reflect.ownKeys(b)
if(aKeys.length !== bKeys.length) {
return false
}
for(let i=0, l=aKeys.length; i < l; i++) {
const key = aKeys[i]
if(typeof a[key] === ‘object’) {
if(!isObjEqual(a[key], b[key])) {
return false
}
} else {
if(a[key] !== b[key]) {
return false
}
}
}
return true
}