Fix:修复isSameObject工具方法逻辑错误的问题
This commit is contained in:
parent
1d297350cc
commit
a4f6006efd
@ -841,8 +841,12 @@ export const isSameObject = (a, b) => {
|
|||||||
// b没有a的一个字段,那么肯定不相同
|
// b没有a的一个字段,那么肯定不相同
|
||||||
if (!keysb.includes(key)) return false
|
if (!keysb.includes(key)) return false
|
||||||
// 字段名称一样,那么需要递归判断它们的值
|
// 字段名称一样,那么需要递归判断它们的值
|
||||||
return isSameObject(a[key], b[key])
|
const isSame = isSameObject(a[key], b[key])
|
||||||
|
if (!isSame) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
return true
|
||||||
} else if (type === 'Array') {
|
} else if (type === 'Array') {
|
||||||
// 如果都是数组
|
// 如果都是数组
|
||||||
// 数组长度不一样,肯定不相同
|
// 数组长度不一样,肯定不相同
|
||||||
@ -854,8 +858,12 @@ export const isSameObject = (a, b) => {
|
|||||||
const typea = getType(itema)
|
const typea = getType(itema)
|
||||||
const typeb = getType(itemb)
|
const typeb = getType(itemb)
|
||||||
if (typea !== typeb) return false
|
if (typea !== typeb) return false
|
||||||
return isSameObject(itema, itemb)
|
const isSame = isSameObject(itema, itemb)
|
||||||
|
if (!isSame) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
return true
|
||||||
} else {
|
} else {
|
||||||
// 其他类型,直接全等判断
|
// 其他类型,直接全等判断
|
||||||
return a === b
|
return a === b
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user