我有这个功能,我使用lodash检查2个对象是否相同。
private checkForChanges(): boolean {
if (_.isEqual(this.definitionDetails, this.originalDetails) === true) {
return false;
} else {
return true;
}
}
我想知道这是否是一种打印出彼此不同的属性的方法(如果对象不相等)
我同时使用lodash和JQuery,这有助于
答案 0 :(得分:0)
由于比较的可能性多种多样,因此没有简单的方法。 如果您查看了lodash源代码,您将有一个想法。
但是,如果你知道你在比较什么,你可以简化任务。例如,比较总是在普通的浅物体之间进行。 How to determine equality for two JavaScript objects?和Object comparison in JavaScript中有一些想法。
额外注意:如果您只需要返回结果,则无需if
。
private checkForChanges(): boolean {
return !_.isEqual(this.definitionDetails, this.originalDetails);
}
答案 1 :(得分:-1)
https://lodash.com/docs/#isEqual如果条件lodash将返回true / false,则无需检查 true
private checkForChanges(): boolean {
if (_.isEqual(this.definitionDetails, this.originalDetails)) {
return false;
} else {
return true;
}
}