如何按数组中数组的值对数组进行排序

克里斯托弗

我有一个数组,就像,

var array = [[CustomModel(set:2, name: "Apple"), CustomModel(set:2, name:"Orange")], [CustomModel(set:1, name:"Home"),CustomModel(set:1, name:"Building")]]

我如何对数组进行排序

var array = [[CustomModel(set:1, name:"Home"),CustomModel(set:1, name:"Building")], [CustomModel(set:2, name: "Apple"), CustomModel(set:2, name:"Orange")]]

使得较低的集合的值先于其他集合的值。

这甚至可能吗?或者有更好的方法来做到这一点。

乔金·丹尼尔森

如果set所有元素都相同,这是一个简单的排序,那么我们可以选择内部数组的第一个元素进行排序

array.sort(by: {($0.first?.set ?? Int.max) < ($1.first?.set ?? Int.max)})

否则我们需要选择一个,比如最小值

array.sort(by: { ($0.map {$0.set}.min() ?? Int.max) < ($1.map {$0.set}.min() ?? Int.max) })

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章