简体   繁体   English

根据特定键在swift3中对字典进行排序

[英]Sorting an dictionary of dictionary in swift3 based on particular key

I am receiving the following response from API, I need to sort this dictionary of dictionary based on the displayOrder key.我从 API 收到以下响应,我需要根据 displayOrder 键对这个字典进行排序。 So as per the below code you can see currently the order is [SALE, OFFER, DISCOUNT, SOLD] which I want to be in order [SALE, SOLD, OFFER, DISCOUNT].因此,根据下面的代码,您可以看到当前的订单是 [SALE, OFFER, DISCOUNT, SOLD],我想按照 [SALE, SOLD, OFFER, DISCOUNT] 的顺序排列。

["SALE": {
    displayOrder = 1;
    segId = 2;
    chg = 2;
}, "OFFER": {
    displayOrder = 3;
    segId = 4;
    chg = 2;
}, "DISCOUNT": {
    displayOrder = 4;
    segId = 1;
    chg = 1;
}, "SOLD": {
    displayOrder = 2;
    segId = 2;
    chg = 1;
}]

Simple sort it with sorted function like:使用sorted函数对其进行简单排序,例如:

let dic = ["SALE": [
    "displayOrder" : 1,
    "segId" : 2,
    "chg" : 2,
    ], "OFFER": [
        "displayOrder" : 3,
        "segId" : 4,
        "chg" : 2,
    ], "DISCOUNT": [
        "displayOrder" : 4,
        "segId" : 1,
        "chg" : 1,
    ], "SOLD": [
        "displayOrder" : 2,
        "segId" : 2,
        "chg" : 1,
    ]]

dic.sorted { (lhs, rhs) -> Bool in
    lhs.value["displayOrder"]! < rhs.value["displayOrder"]!
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM