javascript - 如何确定两个 JavaScript 对象的相等性?

标签 javascript object equals hashcode

严格相等运算符会告诉您两个对象类型是否相等。但是,有没有办法判断两个对象是否相等,很像 Java 中的哈希码值?

堆栈溢出问题 Is there any kind of hashCode function in JavaScript? 与此问题类似,但需要更学术的答案。上面的场景说明了为什么有必要拥有一个,我想知道是否有任何等效解决方案

最佳答案

为什么要重新发明轮子?给 Lodash试一试。它具有许多必备功能,例如isEqual() .

_.isEqual(object, other);

它将暴力检查每个键值 - 就像本页上的其他示例一样 - 使用 ECMAScript 5和原生优化(如果它们在浏览器中可用)。

注意:以前此答案推荐 Underscore.js , 但是 lodash在修复错误和解决一致性问题方面做得更好。

关于javascript - 如何确定两个 JavaScript 对象的相等性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/201183/

相关文章:

JavaScript - 分解 'For Loop' 理解?

java - 如何有效地确定java对象在内存中的大小?

javascript - 如何减去对象数组中具有相似键的对象值? (不要与删除重复项混淆)

java - Java中如何转义转义字符

Java:.equals() 对于集合失败(JGraphT)

javascript - 查找表格单元格的值

javascript - 如何使用 div 标签的类获取表单数据?

java - 什么是用于 equals() 方法的字段的 'canonical representation' (Joshua Bloch)

javascript - 能够在 Firefox 中加载初始化脚本吗?

JavaScript 邮件函数 - 从字符串中删除日期戳部分