swift数组中一条数据置顶【原创】

来源:互联网 发布:苹果跑分软件 编辑:程序博客网 时间:2024/06/06 08:45
今天有一个需求需要做到数组中有一条数据一定要排在第一个,刚开始的写法是将这条数据取出来缓存一下,然后将这条数据插入到已经排除掉这条数据的数组中的第一个,代码如下:
let id = "aaa"let first = self.fullDatas?.filter({ (data) -> Bool in            if id == data.doctorid {                return true            }            return false        }).first        var datas = self.fullDatas?.filter({ (data) -> Bool in            if id != data.doctorid {                return true            }            return false        })        datas?.insert(first!, at: 0)
最后这个datas就是我们要的结果,这种写法看起来很傻,后来我就思考是不是需要用排序来搞定这个问题,做了尝试结果很满意,同样达到了想要的结果,代码如下

let list = fullDatas.sorted(by: { (data1, data2) -> Bool in if id == data.id { return true } return false})//哈哈实现啦


查看原文:https://www.liuandy.cn/ios/swift%e6%95%b0%e7%bb%84%e4%b8%ad%e4%b8%80%e6%9d%a1%e6%95%b0%e6%8d%ae%e7%bd%ae%e9%a1%b6%e3%80%90%e5%8e%9f%e5%88%9b%e3%80%91.html
原创粉丝点击