使用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")]
网友评论