🌺前言
js判断两个对象是否相同
typescript
/**
* 判断两个对象是否相同
* @param {Object} a 要比较的对象一
* @param {Object} b 要比较的对象二
* @returns {Boolean} 相同返回 true,反之 false
*/
export function isObjectValueEqual(a: { [key: string]: any }, b: { [key: string]: any }) {
if (!a || !b) {
return false
}
const aProps = Object.getOwnPropertyNames(a)
const bProps = Object.getOwnPropertyNames(b)
if (aProps.length !== bProps.length) {
return false
}
for (let i = 0; i < aProps.length; i++) {
const propName = aProps[i]
const propA = a[propName]
const propB = b[propName]
if (!Object.prototype.hasOwnProperty.call(b, propName)) {
return false
}
if (propA instanceof Object) {
if (!isObjectValueEqual(propA, propB)) {
return false
}
} else if (propA !== propB) {
return false
}
}
return true
}
文章最后更新于 2024-09-20 09:05:18
作者:徐徐版权声明:转载请注明文章出处
留言

~~空空如也