我有一个数组,就像,
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] 删除。
我来说两句