带任意值的字典排序数组

弯腰的

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

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

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

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

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

Sh_Khan

sort是变异的,因此数组必须是var且没有返回值,并且可以强制展开或

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

要么

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

要么 sorted

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 }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章