У меня есть массив словарей, приведенный ниже;
{
"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,
},
]
}
Как отсортировать массив, используя эти два варианта вместе? Во-первых, я хочу отсортировать массив с помощью ключа "последовательность", если ключ равен, во-вторых, отсортировать ключ "имя".





Существует удобный синтаксис с использованием кортежей, и вы можете сортировать на месте
self.currArray.sort{ ($0.sequence, $0.name) < ($1.sequence, $1.name) }
Большое спасибо. Это работа.