Как сгруппировать массив объектов с одинаковой парой ключ-значение - PullRequest
0 голосов
/ 05 августа 2020

У меня есть массив словарей с одинаковыми парами значений ключей.

[
  { "amount": "10" }, 
  { "amount": "20" },
  { "amount": "30" },
  { "amount": "20" },
  { "amount": "10" },
  { "amount": "10" }
]

Мне нужно сгруппировать это на основе тех же значений ключей.

Ожидаемый результат выборки:

Есть 3x 10, 2x 20 и 1x 30

Как мне этого добиться?

1 Ответ

0 голосов
/ 05 августа 2020
let array = [ ["amount": "10"], ["amount": "20"], ["amount": "30"], ["amount": "20"], ["amount": "10"], ["amount": "10"] ]
var result: [String: Int] = [:]
let key = "amount"
array.forEach {
    guard let value = $0[key] else { return }
    result[value, default: 0] += 1
}

print("\(result["10"])") // 3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...