如何在JavaScript 中比較物件是否相等
由於缺乏專用的雜湊碼函數,在JavaScript 中確定物件相等可能會很棘手像Java一樣。不過,有一些方法可以實現這種比較。
lodash.isEqual()
要檢查物件的深度相等,請考慮使用 Lodash 的 _.isEqual() 函數。它遞歸地檢查兩個物件的鍵值對,確保內容相同。
_.isEqual(object1, object2);
暴力方法
另一種方法涉及手動檢查每個鍵值對:
const keys1 = Object.keys(object1); const keys2 = Object.keys(object2); if (keys1.length !== keys2.length) { return false; } for (let key of keys1) { if (object1[key] !== object2[key]) { return false; } } return true;
推薦
推薦使用Lodash,因為它方便且效能最佳化。對於更複雜的場景,您可以根據具體需求實現自己的解決方案。但是,請記住,JavaScript 的嚴格相等運算子 (===) 僅檢查物件類型相等性,而不會檢查物件內容相等性。
以上是如何在 JavaScript 中有效比較物件的相等性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!