Instance Method インスタンスメソッド

merging(_:uniquingKeysWith:)

Creates a dictionary by merging the given dictionary into this dictionary, using a combining closure to determine the value for duplicate keys. 与えられた辞書をこの辞書へと結合することによって1つの辞書を作成します、結び付けられているクロージャを使って何らかの重複キーに対して値を決定します。

Declaration 宣言

func merging(_ other: [Key : Value], uniquingKeysWith combine: (Value, Value) throws -> Value) rethrows -> [Key : Value]

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. この辞書と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. combineクロージャを使ってある値を選択することで、返される辞書において使ってください、または既存および新規の値を結合してください。otherの中のキー値ペアがこの辞書と結合される時、combineクロージャは、遭遇される何らかの重複キーに対して現在および新規の値とともに呼び出されます。

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]

See Also 参照

Adding Keys and Values キーと値を追加する