方法一:
obj1 = {A:10} obj2={A:10} 结果为:true
objEqual(a, b) {
if (Object.keys(a).length !== Object.keys(b).length) {
return false
}
for (let key in a) {
if (b[key] === undefined) {
return false
}
if (a[key] !== b[key]) {
return false
}
}
return true
},
方法二: 当对象里在包含对象时。
obj1 = {A:10,{date:"2022"}} obj2 = {A:10,{date:"2022"}}
objEqual(a, b) {
if (Object.keys(a).length !== Object.keys(b).length) {
return false
}
for (let key in a) {
if (b[key] === undefined) {
return false
}
if (typeof(b[key]) === 'function' || typeof(a[key]) === 'function') {
throw new Error('type error')
}
if (typeof(b[key]) != typeof(a[key])) {
return false
}
if (typeof(a[key]) === 'object') {
return objEqual(a[key], b[key])
}
if (a[key] !== b[key]) {
return false
}
}
return true
}