For example, you might want to merge values: let d1 = ["Apples": 20, "Oranges": 13]
let d2 = ["Oranges": 3, "Cherries": 9] let d3 = [d1, d2].reduce([String : Int]()) { acc, d in var dx = acc for entry in d { let key = entry.key guard dx[key] == nil else { dx[key]! += entry.value continue } dx[entry.key] = entry.value } return dx } print(d3) // ["Cherries": 9, "Apples": 20, "Oranges": 16] On Fri, Nov 11, 2016 at 9:14 AM, Ray Fix via swift-users < swift-users@swift.org> wrote: > Hi Mr Bee, > > The reason I don’t think it is provided is because it is difficult to know > what to do when keys collide. You could easily write such a thing and > decide your own policy. For example: > > let d1 = ["Apples": 20, "Oranges": 13] > let d2 = ["Oranges": 3, "Cherries": 9] > > extension Dictionary { > func merged(with another: [Key: Value]) -> [Key: Value] { > var result = self > for entry in another { > result[entry.key] = entry.value > } > return result > } > } > > let result = d1.merged(with: d2) > > > On Nov 11, 2016, at 12:05 AM, Mr Bee via swift-users < > swift-users@swift.org> wrote: > > Hi, > > I'm using Swift v3 on an El Capitan machine. I want to merge a dictionary > into another compatible dictionary. However, I couldn't find addEntries > function in the dictionary instance, like it was on NSMutableDictionary ( > https://developer.apple.com/reference/foundation/nsmutabledictionary). > > Does that mean that Swift standard library won't provide such similar > function for native Swift dictionary? Or is there any other way of doing > that natively? I mean using the built-in Swift's native dictionary function > (https://developer.apple.com/reference/swift/dictionary), no need to > write a custom function, or bridging to NSMutableDictionary. > > Thank you. > > Regards, > > –Mr Bee > > _______________________________________________ > swift-users mailing list > swift-users@swift.org > https://lists.swift.org/mailman/listinfo/swift-users > > > > _______________________________________________ > swift-users mailing list > swift-users@swift.org > https://lists.swift.org/mailman/listinfo/swift-users > >
_______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users