gpt4 book ai didi

swift - 如何根据内部数组值对外部数组进行排序?

转载 作者:可可西里 更新时间:2023-11-01 00:54:07 24 4
gpt4 key购买 nike

我有一个元组数组,元组包含结构数组 Bill

let billDetails = [(name:String, bills:[Bill])]()

struct Bill {
var date: Date
}

内部数组 bills已按日期属性排序。现在我想根据内部数组的第一个对象的日期属性对外部数组进行排序。

如何在不强制展开的情况下做到这一点?

billDetails = billDetails.sorted(by: { $0.bills.first!.date < $1.bills.first!.date })

最佳答案

如果 bills 为空,您需要决定将项目放在哪里。实际上只有 2 个选项,要么将它们放在数组的开头,要么放在数组的后面。

您可以使用 ?? 提供默认值 distantFuturedistantPast,具体取决于您希望空账单去哪里。

// empty bills last
billDetails.sort(by: { $0.bills.first?.date ?? Date.distantFuture < $1.bills.first?.date ?? Date.distantFuture })
// or empty bills first
billDetails.sort(by: { $0.bills.first?.date ?? Date.distantPast < $1.bills.first?.date ?? Date.distantPast })

关于swift - 如何根据内部数组值对外部数组进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56090067/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com