问题标签 [hashable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
846 浏览

json - 如何使用 SwiftyJSON 解析这个带有 AnyHashable 值的 PayPal JSON 响应?

我正在使用 PaypalSDK 将 paypal 支付方式添加到我正在开发的应用程序中,它已经在工作,当支付成功时,我收到了一个响应,我正在将其转换为 jsonObject 但我不知道如何解析它只是为了从响应中提取代码。这是我得到的回应

这就是我的 payPalFuturePaymentViewController 方法:

所以我想做的是从响应中获取代码,将其放入一个变量中,然后将该变量包含在 paypalPago 项中:

任何有关如何解析此 json 并提取我需要的代码的帮助将不胜感激:)

0 投票
2 回答
1754 浏览

swift - 如何使具有可选属性的自定义类符合“可散列”协议

假设我有一个基类“Person”,我想将它添加到 Set(List)中,因此需要符合 Hashable 和 Equatable:

该类只有一个可选属性,这使得在创建哈希值时处理可选属性相当合理。如果有 2 个或更多可选属性怎么办?我可以看到这很快就会失控。

在使对象符合可散列协议时,通常如何处理可选属性?

0 投票
1 回答
453 浏览

javascript - Leaflet markercluster 和 hashable

我有一个集群中有很多标记的地图,带有markercluster插件(由于.JS文件中的geojson作为变量,我创建了它),并且我试图能够使用zoom/动态修改URL哈希使用 Hashable.js 的 lat/lng 但每次我用超过 40.000 个标记的 geojson 加载我的网站时,markercluster 和 hashable 之间似乎存在冲突。这是我得到的错误:

0 投票
1 回答
3656 浏览

ios - Swift 3 中 Any 、 Hashable 、 AnyHashable 有什么区别?

我通过大量教程摸索以了解上述 3 个术语之间的区别并找到新的术语type erased容器,现在它让我感到困惑。它提出了很多问题。

为什么要引入 Swift AnyHashable

这三个术语之间的根本区别是什么?

Any和之间的区别AnyHashable

Hashable和之间的区别AnyHashable

何时使用Hashable,何时使用AnyHashable

type erased最后但最令人困惑的是,术语在上下文中的含义是AnyHashable什么?

作为上下文,我遵循了Swift Evolution Proposal SE-0131

0 投票
1 回答
713 浏览

swift - Swift 如何散列字符串?

我正在查看 String 的 Swift 实现(https://github.com/apple/swift/blob/master/stdlib/public/core/String.swift

String 实现了 Hashable 协议,这意味着它必须提供一个 hashValue。但是,上面链接的 String 实现中没有提供任何内容。我在哪里可以找到这个?我假设 String 从某个地方继承它。

0 投票
1 回答
1710 浏览

swift - Set 如何确保 Swift 中的等价性?

我在读

当您需要有效地测试成员资格并且您不关心集合中元素的顺序,或者当您需要确保每个元素在集合中只出现一次时,您可以使用集合而不是数组。

基本Set保证唯一性,有一些方法,依赖Hashable

使用 contains(_:) 方法测试集合是否包含特定元素。

使用减法(_:) 方法创建一个新集合,其中包含一个集合中不在另一个集合或序列中的元素

但是 2 个不同的对象可以有相同的hashValue,就像这篇文章Swift Hashable

不要假设具有相同哈希值的类型的两个实例是相等的。根据我们计算哈希值的方式,我们可能会遇到两个不同实例共享相同哈希值的冲突。Hashable 协议只需要反过来——两个相等的实例具有相同的哈希值。

那么如果 2 个对象具有相同的hashValue,并且Set只保存 1 个,那么我们有问题吗?

0 投票
3 回答
9548 浏览

python - 实现 __eq__ 和 __hash__ 的推荐方法

python 文档提到,如果您覆盖并且__eq__对象是不可变的,您还应该覆盖__hash__以使该类正确可散列。

在实践中,当我这样做时,我经常会得到类似的代码

这有点重复,并且在更新另一个时忘记更新一个明显的风险。

有没有推荐的方法一起实现这些方法?

0 投票
1 回答
639 浏览

swift3 - 斯威夫特 | 用 NSObject 设置

我正在尝试使用自定义对象创建一个 Set。这是有效的,如果我使用一组自定义对象,则没有重复项:

我用 NSObject 扩展了我的类,因为 NSObject 已经实现了 Hashable 协议(以及 Equatable)我必须重写 hashValue,这不再起作用,如果我使用一组我的自定义对象有重复,我在这里做错了什么? :

谢谢你的帮助 !

0 投票
3 回答
10709 浏览

ios - swift 3.0 如何在 Swift 3 的“Any”中访问“AnyHashable”类型?

我正在使用 sqlite 文件从 authorId 获取 diaryEntriesTeacher。当我打印变量 authorId 为 nil 代码时,它会生成以下 authorId 对象:-

输出 在此处输入图像描述

0 投票
1 回答
262 浏览

swift - 似乎 Swfit.AnyHashable 不是正确使用枚举的大小写(as!,as?,as)

这是 AnyHashable 不支持使用枚举进行强制转换的简单案例示例。

在这种情况下,newObject 将返回 nil。如果我改为投

它会很好。

我已经用结构、自定义类和字符串尝试过这个,它们都正确转换。例如这有效。

这是swift中的错误还是我在这里没有正确执行此操作。

我在 Swift 3.2 和 Swift 4 中试过这个。