首页 > 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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板