【发布时间】:2019-05-15 00:07:27
【问题描述】:
使用 Swift,我正在尝试使用与 this answer 相同的复杂过滤器或排序,但使用的是 字典,它是值而不是数组。我的整数值也可以是任何整数值——没有限制。给定一个不在数组中的整数值(比如 X),我想找到它自己和 X 之间差异最小的数组元素:
let playerGuesses = ["Mike": 432, "Chrissy": 164]
let x = 222
数组版本给出的答案如下:
let closest = numbers.enumerated().min( by: { abs($0.1 - x) < abs($1.1 - x) } )!
print(closest.element) // 7
print(closest.offset) // 2
我如何为字典值完成类似的操作?
【问题讨论】:
-
除非我在你的问题中遗漏了什么,否则我会使用几乎相同的代码得到正确的结果(从计算中删除
enumerated().,然后使用closest.key和closest.value。
标签: swift dictionary enumeration