2017-06-16 52 views
0

我有这个函数是我用lodash检查2个对象是否相同。打印出不具有相同值的属性

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

我想知道,如果是一个方法来打印出它们是从不同的海誓山盟(柜面的对象不等于海誓山盟)属性

我使用这两种lodash和JQuery柜面它有助于

+0

[请不要把问题标题标签(https://stackoverflow.com/help/tagging) – Liam

+1

https://stackoverflow.com/a/31686152/82208吧? – aquinas

回答

-1

https://lodash.com/docs/#isEqual无需检查中,如果条件lodash将返回真/假

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

感谢您的建议,但这不是我的问题的答案 – Nicolas

0

由于比较的可能性多种多样,所以没有简单的方法。 如果您查看lodash源代码,您将会有一个想法。

但是,如果你知道你在比较什么,你可以简化任务。例如,比较总是在平淡的物体之间进行。 在How to determine equality for two JavaScript objects?Object comparison in JavaScript中有一些想法。

特别提示:如果您只需要返回结果,则不需要if

private checkForChanges(): boolean { 
    return !_.isEqual(this.definitionDetails, this.originalDetails); 
} 
相关问题