说,我有以下网址。
我将keyValues存储在字典中
if(isPass == false){
document.getElementById("error_msg_smry").style.display = 'block';
window.scrollTo(0,0);
}
问题:如何对其进行排序并从KeyValues输出字符串
let strURL = "https://www.x.com/?d=1&a=2&b=3&c=4&nbr=1234567890"
let items = URLComponents(string:strURL)?.queryItems
var KeyValues:[String:String] = [:]
items?forEach {
item in KeyValues[item.name] = item.value
}
由于
答案 0 :(得分:0)
我就这样做了:
let sorted = KeyValues.map { $0 }.sorted { $0.key < $1.key }
let result = sorted.dropFirst().reduce("\(sorted.first!.key)=\(sorted.first!.value)") { (result, kvp) -> String in
result + "&\(kvp.key)=\(kvp.value)"
}
我们首先将字典转换为[(String, String)]
,然后根据密钥对其进行排序。
然后,我们reduce
排序的数组将键和值连接在一起。