栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何为JavaScript Set自定义对象相等性

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何为JavaScript Set自定义对象相等性

ES6

Set
对象没有任何比较方法或自定义比较可扩展性。

.has()
.add()
.delete()
方法只关闭它是一个基本相同的实际物体或相同的值,没有办法插头插入或更换只是逻辑。

你大概可以从派生您自己的对象

Set
和替换
.has()
.add()
.delete()
与一些做了深刻的对象比较方法,先找到,如果该项目已经在设置,但性能可能不会很好,因为底层
Set
对象不会帮助完全没有
在调用原始对象之前,您可能需要对所有现有对象进行蛮力迭代才能找到匹配项
.add()

5.2为什么我不能配置映射和设置比较键和值的方式?

问题:如果有一种方法可以配置哪些映射键和哪些设置元素被认为是相等的,那就太好了。为什么不在那里?

答:由于难以正确有效地实施,该功能已被推迟。一种选择是将回调传递给指定相等性的集合。

Java中可用的另一个选项是通过对象实现的方法(Java中的equals())指定相等性。但是,这种方法对于可变对象是有问题的:通常,如果对象发生更改,则其在集合中的“位置”也必须更改。但这不是Java中发生的情况。Javascript可能会走上一条更安全的路线,即仅对特殊的不可变对象(所谓的值对象)启用按值比较。按值比较意味着,如果两个值的内容相等,则认为这两个值相等。在Javascript中按值比较原始值。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/635045.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号