【问题标题】:Sort Array of Dictionaries by Key Value and if keys are equals sort alphabetical order within itself按键值对字典数组进行排序,如果键相等,则按其自身的字母顺序排序
【发布时间】:2021-06-27 20:09:12
【问题描述】:

我有一个字典数组,如下所示;

{
      "result": [
           
            {
                "id": 9,
                "name": "AKILLI",
                "sequence": 1,
               
            {
                "id": 10,
                "name": "DİĞER YEDEK ",
                "sequence": 2,
            },
            {
                "id": 61,
                "name": "TELEFON",
                "sequence": 0,
            },
            {
                "id": 62,
                "name": "TABLET",
                "sequence": 0,
            }
     ]
     }

我想对这个数组进行排序;

 self.currArray = currArray.sorted { $0.sequence < $1.sequence }

结果是;

 {
      "result": [
            {
                "id": 61,
                "name": "TELEFON",
                "sequence": 0,
            },
            {
                "id": 62,
                "name": "TABLET",
                "sequence": 0,
            },
            {
                "id": 9,
                "name": "AKILLI",
                "sequence": 1,
               
            {
                "id": 10,
                "name": "DİĞER YEDEK ",
                "sequence": 2,
            },
            
     ]
     }

当“序列”相同时,我还想使用名称进行排序。我想得到;

{
  "result": [
        {
            "id": 62,
            "name": "TABLET",
            "sequence": 0,
        },
        {
            "id": 61,
            "name": "TELEFON",
            "sequence": 0,
        },
        {
            "id": 9,
            "name": "AKILLI",
            "sequence": 1,
           
        {
            "id": 10,
            "name": "DİĞER YEDEK ",
            "sequence": 2,
        },
        
 ]
 }

如何同时使用这两个选项对数组进行排序?首先,如果键相等,我想使用“sequence”键对数组进行排序,然后对“name”键进行排序。

【问题讨论】:

    标签: ios arrays swift sorting


    【解决方案1】:

    元组有一种方便的语法,你可以就地排序

    self.currArray.sort{ ($0.sequence, $0.name) < ($1.sequence, $1.name) }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-06
      • 2021-12-20
      • 1970-01-01
      • 2020-01-22
      • 1970-01-01
      • 1970-01-01
      • 2019-05-27
      相关资源
      最近更新 更多