2017-06-16 64 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); 
} 
相關問題