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
})

你可能感兴趣的:(Swift 数组按照条件(key value)排序,筛选)