【问题标题】:sort array of dictionaries by it's values - swift programmatically [duplicate]按其值对字典数组进行排序-以编程方式快速[重复]
【发布时间】:2021-07-05 07:35:44
【问题描述】:

我有一个这样的字典数组:

var uidTimestampsNotSorted = [[String: Timestamp]]()

我想按字典 Timestamp 的值对字典进行排序,我该如何实现?

【问题讨论】:

  • 你能展示一些示例输入和输出吗?
  • 但是“Timestamp”只有一个key,或者有多个key,还要找到“Timesamp”对应的key。你能分享一些输入样本吗?
  • 只有一个 Timestamp 类型的键,我需要将字典数组从最早的时间戳排序到最新的时间戳

标签: arrays swift sorting dictionary google-cloud-firestore


【解决方案1】:

如果您的意思是要自己对时间戳进行排序,那么类似下面的示例可能会这样做:

let dicts: [[String: Int]] = [
    ["a":1, "b": 2, "c": 3],
    ["A":10, "B": 20, "C": 30],
    ["AA":100, "BB": 200, "CC": 300],
]

let vs = dicts.flatMap(\.values).sorted(by: >)

具有适当的排序功能

【讨论】:

  • 我需要对字典数组进行排序,因为我知道该值只是字典的一个时间戳。我需要从最早的时间戳开始到最新的排序键值对
  • 这样吗? let vs = dicts.sorted { (lhs, rhs) -> Bool in (lhs["timestamp"] ?? 0)
  • 谢谢!它有效
猜你喜欢
  • 1970-01-01
  • 2022-01-19
  • 2016-07-23
  • 1970-01-01
  • 1970-01-01
  • 2016-04-17
  • 1970-01-01
  • 2015-03-16
相关资源
最近更新 更多