【发布时间】:2017-05-05 11:45:32
【问题描述】:
我有一个比较函数,可以检查用户是否像这样更改了 objects 中的任何属性值。
private checkForChanges(): boolean {
if (_.isEqual(this.definitionDetails, this.originalDetails) === true) {
return false;
} else {
return true;
}
}
这很好用,但是现在我想控制台记录更改,如果有任何更改,则更改了哪个属性。
我试过这个:
console.log(_.difference(_.keys(this.originalDetails), _.keys(this.definitionDetails)));
但我总是得到[],所以我认为我的语法是错误的。
实现我想要的正确方法是什么?
【问题讨论】:
-
你使用的是什么版本的 lodash?
-
@Meir 使用版本 4.17.4
-
你想比较这两个对象中是否存在属性名,还是这些属性的值?如果我没记错的话,现在是第一个。
-
@Philipp 我想比较值(我知道属性存在,用户只能更改它的值)。
-
你需要使用 lodash 吗?
标签: javascript angular typescript lodash