美文网首页
Swift 字典排序: 按Key排序和按Value排序

Swift 字典排序: 按Key排序和按Value排序

作者: Eyes_cc | 来源:发表于2020-04-14 15:34 被阅读0次

使用sorted方法
1、值是给定的

var dic = Dictionary<String,AnyObject>()
dic["a"] = "item-a"
dic["c"] = "item-c"
dic["b"] = "item-b"
dic["d"] = "item-d"

var array1 =  dic.keys.sort(>)
for item in array1 {
    print("\(item)" + ":" + (dic["\(item)"]! as! String));
}

2、值是未知的

// MARK: POST, Upload参数
private func postUploadParasData(paras: Dictionary<String, Any>) -> [MultipartFormData] {
    let arr_sorted = paras.sorted(by: {$0.0 < $1.0})
    var strArr = [String]()
    for data in arr_sorted {
        strArr.append("\(data.key)")
        strArr.append("=")
        strArr.append("\(data.value)")
        strArr.append("&")
    }
    if !strArr.isEmpty { strArr.removeLast() }
    ...
    return ...
}

扩展: 按Key排序和按Value排序

let dict = ["27":"w","15":"t","36":"b"]
let keys = dict.sorted(by: {$0.0 < $1.0})
let values = dict.sorted(by: {$0.1 < $1.1})

print(keys)   #// [(key: "15", value: "t"), (key: "27", value: "w"), (key: "36", value: "b")]
print(values) #// [(key: "36", value: "b"), (key: "15", value: "t"), (key: "27", value: "w")]


相关文章

网友评论

      本文标题:Swift 字典排序: 按Key排序和按Value排序

      本文链接:https://www.haomeiwen.com/subject/odhtvhtx.html