打印不具有相同价值的房产

时间:2017-06-16 12:56:35

标签: javascript angular typescript lodash

我有这个功能,我使用lodash检查2个对象是否相同。

private checkForChanges(): boolean {
    if (_.isEqual(this.definitionDetails, this.originalDetails) === true) {
        return false;
    } else {
        return true;
    }
}

我想知道这是否是一种打印出彼此不同的属性的方法(如果对象不相等)

我同时使用lodash和JQuery,这有助于

2 个答案:

答案 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;
    }
 }