Swift 数组按照条件(key value)排序,筛选

Swift数组可以使用系统自带的方法进行排序,筛选,极大的提高了开发的效率

假设有一个数组,dataModels

var dataModels = [dataModel]()

数组中有数据模型,dataModel
数据模型dataModel有字段 rate24,(rate24可以为int, double, string等可以比较的类型)

class dataModel: NSObject {
@objc var rate24 : Double = 0
}

//数组排序


// 按照rate从大到小降序排列
//将排序的结果存入increases数组中

let increases = dataModels.sorted(by: { (a, b) -> Bool in
  return a.rate24 > b.rate24
})
            
// 按照rate从小到大升序排列
//将排序的结果存入decreases数组中

let decreases = dataModels.sorted(by: { (a, b) -> Bool in
  return a.rate24 < b.rate24
})

//数组筛选


//筛选出increases中,rate24大于0的元素
//将排序的结果存入newIncreaseMs数组中
let newIncreaseMs = increases.filter({ (a) -> Bool in
  return a.rate24  > 0.0
})

//筛选出decreases中,rate24小于0的元素
//将排序的结果存入newDecreaseMs数组中
let newDecreaseMs = decreases.filter({ (a) -> Bool in
  return a.rate24 < 0.0
})

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。