首頁 > web前端 > js教程 > JavaScript 是否有相當於物件相等性的 HashCode?

JavaScript 是否有相當於物件相等性的 HashCode?

Linda Hamilton
發布: 2024-12-30 20:08:17
原創
288 人瀏覽過

Does JavaScript Have a HashCode Equivalent for Object Equality?

在 JavaScript 中確定物件相等性

在 JavaScript 中,使用嚴格相等運算子確定物件相等性僅揭示物件類型的相等性。這就提出了一個問題:是否存在類似 Java 的雜湊碼值的機制來確定物件相等性。

JavaScript 中是否有等效的 HashCode?

類似的查詢Stack Overflow 上的文章(「JavaScript 中是否有任何類型的 hashCode 函數?」)強調了對解決方案的需求。下面的場景進一步說明了必要性:

const obj1 = { name: "John Doe", age: 25 };
const obj2 = { name: "John Doe", age: 25 };

console.log(obj1 === obj2); // false (different memory references)
登入後複製

等效解決方案

幸運的是,JavaScript 以 lodash 庫的形式提供了解決方案。它提供 isEqual() 函數,函數:

const { isEqual } = require('lodash');

const result = isEqual(obj1, obj2); // true (objects are equal)
登入後複製

Lodash 強力比較每個鍵值對,採用 ECMAScript 5 效能最佳化。請注意,這個答案之前推薦的是 Underscore.js,但 Lodash 在錯誤修復和一致性方面已經超越了它。

以上是JavaScript 是否有相當於物件相等性的 HashCode?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板