2024.05.07 22:07
有时候在需要在离开页面的时候判断当前页面的数据是否做过改动,所以需要判断对象的属性值是否有发生变化。通过测试发现比较简单的写法就是通过JSON.stringiy转换成字符串进行对比,方法如下:
// 原对象
const obj = {
a: 1,
b: 2,
c: {
v: 'test'
},
d: [1, 2, 3, 5]
}
// 复制出新对象
const newObj = JSON.stringify(obj)
// 修改原对象的属性
obj.a = 3
// 判断数据是否变动
if(isChange(obj, newObj)) {
console.log('未修改')
} else {
console.log('有修改')
}
// 判断数据变化方法
function isChange(a, b) {
return JSON.stringify(a) === b
}
注:也可以用该方法判断两个对象是否相等