<!--
{
  "availability" : [
    "iOS: 8.0.0 -",
    "iPadOS: 8.0.0 -",
    "macCatalyst: 13.0.0 -",
    "macOS: 10.10.0 -",
    "tvOS: 9.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Swift",
  "identifier" : "/documentation/Swift/Dictionary/merging(_:uniquingKeysWith:)-4vrqz",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Swift"
    ],
    "preciseIdentifier" : "s:SD7merging_16uniquingKeysWithSDyxq_GACn_q_q__q_tqd__YKXEtqd__YKs5ErrorRd__lF"
  },
  "title" : "merging(_:uniquingKeysWith:)"
}
-->

# merging(_:uniquingKeysWith:)

Creates a dictionary by merging the given dictionary into this
dictionary, using a combining closure to determine the value for
duplicate keys.

```
func merging<E>(_ other: [Key : Value], uniquingKeysWith combine: (Value, Value) throws(E) -> Value) throws(E) -> [Key : Value] where E : Error
```

## Parameters

`other`

A dictionary to merge.

`combine`

A closure that takes the current and new values for any
duplicate keys. The closure returns the desired value for the final
dictionary.

## Return Value

A new dictionary with the combined keys and values of this
dictionary and `other`.

## Discussion

Use the `combine` closure to select a value to use in the returned
dictionary, or to combine existing and new values. As the key-value
pairs in `other` are merged with this dictionary, the `combine` closure
is called with the current and new values for any duplicate keys that
are encountered.

This example shows how to choose the current or new values for any
duplicate keys:

```
let dictionary = ["a": 1, "b": 2]
let otherDictionary = ["a": 3, "b": 4]

let keepingCurrent = dictionary.merging(otherDictionary)
      { (current, _) in current }
// ["b": 2, "a": 1]
let replacingCurrent = dictionary.merging(otherDictionary)
      { (_, new) in new }
// ["b": 4, "a": 3]
```

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)