如何在 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中文网其他相关文章!