安装lodash npm install lodash --save
使用lodash库中的isEqual, omitBy方法,其中isEqual方法是比较两个对象是否相同,omitBy用于过滤掉isEqual方法认为是相等的键值对,返回一个仅包含一个不相等的一个新对象。
实现的代码如下:
import {isEqual, omitBy} from 'lodash';
const changedFields = omitBy(新对象, (value, key) => {
return isEqual(value, this.原对象[key]);
});
console.log(4444, changedFields);
第二种方法:
在Vue中,判断两个对象是否相等可以使用JavaScript的JSON.stringify()方法将对象转换山中为字符串,然后进行比较。如果两个对象相等,则它们的字符串表示也应该相等。如果两人对象不相等,则它们的字符串表示也不相等。
let obj1 = {name: '111',age:30};
let obj2 = {name: '111',age:25};
let diff = {};
for(let key in obj1){
if(obj1[key] !== obj2[key]){
diff[key] = obj2[key];
}
}