gpt4 book ai didi

swift - 对任意值的字典数组进行排序

转载 作者:搜寻专家 更新时间:2023-11-01 06:12:14 24 4
gpt4 key购买 nike

我有这个 [[String:Any]],其中每个元素都有这个:

["date":Date,"value":CGFloat]

我想按“日期”键排序。(日期向上或向下)

 let sortedArray = array.sort { ($0["date"] as? Date) < ($1["date"] as? Date) }

提供我无法比较 2 个日期的错误。

最佳答案

sort 正在发生变化,因此数组需要是 var 并且没有 return ,并且要么强制解包要么

array.sort { ($0["date"] as! Date  ) < ($1["date"] as! Date   ) }

array.sort { ($0["date"] as? Date ?? Date()  ) < ($1["date"] as? Date ?? Date() ) }

排序

let sortedArray  =   array.sorted { ($0["date"] as? Date ?? Date()  ) < ($1["date"] as? Date ?? Date() ) }

强烈推荐

struct Root { 
let date:Date
let value:CGFloat
}


var array = [Root(date: Date(), value: 12),Root(date: Date(), value: 14),Root(date: Date(), value: 15)]

let sortedArray = array.sorted { $0.date < $1.date }

// or

let sortedArray = array.sorted { $0.date.compare($1.date) == .orderedAscending }

关于swift - 对任意值的字典数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53468169/

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