如何在 Swift 中对对象数组进行排序?

Posted

技术标签:

【中文标题】如何在 Swift 中对对象数组进行排序?【英文标题】:How to sort an array of object in Swift? 【发布时间】:2015-06-23 04:55:20 【问题描述】:

我现在是这样写的

static func fromIntervals(intervals: [Interval]) -> ChartData 
    let sortedIntervals = intervals.sorted  (a, b) in return a.startTime < b.startTime

但它显示错误

Cannot invoke 'sorted' with an argument list of type '((_, _) -> _)'

我搜索了很多其他代码示例,但它们都不起作用,我不知道为什么。有什么建议吗?

【问题讨论】:

startTimeNSDate 吗?那么这是***.com/questions/26577496/…的重复:NSDates不能直接和&lt;比较。 【参考方案1】:

sort不是sorted

let sortedIntervals = intervals.sort  (a, b) in return a.startTime < b.startTime

【讨论】:

【参考方案2】:

你做错了。使用sort 而不是sorted

static func fromIntervals(intervals: [Interval]) -> ChartData 
    let sortedIntervals = intervals.sort  (a, b) in return a.startTime < b.startTime

编辑

let sortedIntervals = sorted(intervals,  (a: Object, b: Object) -> Bool in return a.startTime < b.startTime  )

更多信息请参见Apple's doc。

【讨论】:

sort 正在改变间隔本身 - 但这是不可变的,因为它是函数的参数。我想要另一个排序的副本。

以上是关于如何在 Swift 中对对象数组进行排序?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Vue中对对象数组进行排序和过滤

如何在javascript中对嵌套的对象数组进行排序?

如何在 php 中对以下数组/stdclass 对象进行排序? [复制]

如何根据用户输入在 C# 中对对象数组进行排序?

如何在 Swift 5 中对数组的数组进行排序 [关闭]

如何在swift 4中对数组中的JSON数据进行排序