У меня есть два массива, которые выглядят примерно так, как показано ниже.То, что я хотел бы сделать, это объединить два вместе.Если их ключи равны, удалите дубликаты и сложите оба их значения вместе.
Любая помощь очень ценится, большое спасибо !!
Текущий код:
struct Example: Codable {
var key: String
var value: Int
}
var first: [Example] = []
var second: [Example] = []
first.append(Example(key: "1", value: 10))
first.append(Example(key: "2", value: 10))
first.append(Example(key: "3", value: 10))
second.append(Example(key: "2", value: 10))
second.append(Example(key: "3", value: 10))
second.append(Example(key: "4", value: 10))
let merged = Array(Dictionary([first, second].joined().map { ($0.key, $0)}, uniquingKeysWith: { $1 }).values)
В настоящее время печатает
Example(key: "3", value: 10)
Example(key: "1", value: 10)
Example(key: "2", value: 10)
Example(key: "4", value: 10)
Что я хотел бы сделать:
Example(key: "3", value: 20)
Example(key: "1", value: 10)
Example(key: "2", value: 20)
Example(key: "4", value: 10)