iOS swift 4 сортирует словарь по определенным значениям - PullRequest
0 голосов
/ 17 февраля 2019

Можете ли вы помочь мне в сортировке словаря ниже со значением "Val1".

var data = ["key1" : ["val1": 1,"val2": 1],
            "key2" : ["val1": 5,"val2": 2],
            "key3" : ["val1": 0,"val2": 9]]

Я ожидаю, что этот словарь будет отсортирован следующим образом.Самые высокие значения «Val1» должны быть сверху (в порядке убывания) ..

var data = [ "key2" : ["val1": 5,"val2": 2],
             "key1" : ["val1": 1,"val2": 1],
             "key3" : ["val1": 0,"val2": 9]]

1 Ответ

0 голосов
/ 17 февраля 2019

Как правильно заметил @Sulthan Dictionary не может быть отсортировано.Если вы все еще хотите, вы получите Array как результат.

let data = [
    "key1": ["val1": 1,"val2": 1],
    "key2": ["val1": 5,"val2": 2],
    "key3": ["val1": 0,"val2": 9]
]

let result = data.sorted { $0.1["val1"]! > $1.1["val1"]! }
print(result)

[(ключ: "key2", значение: ["val1": 5, "val2":2]), (ключ: «key1», значение: [«val1»: 1, «val2»: 1]), (ключ: «key3», значение: [«val1»: 0, «val2»: 9])]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...