const equalsObj = (oldData, newData) => {
if (oldData === newData) {
return true
}
if (typeof (oldData) === 'object' && typeof (newData) === 'object' && Object.keys(oldData).length === Object.keys(newData).length) {
for (const key in oldData) {
if (oldData.hasOwnProperty(key)) {
if (!equalsObj(oldData[key], newData[key])) {
return false
}
}
}
} else if (Array.isArray(oldData) && Array.isArray(newData) && oldData.length === newData.length) {
for (let i = 0; i < oldData.length; i++) {
if (!equalsObj(oldData[i], newData[i])) {
return false
}
}
} else {
return false
}
return true
}
判断两个数组/对象/字符是否相同
于 2021-06-03 10:55:33 首次发布