文書   >   Swift   >   Dictionary   >   init(_:uniquingKeysWith:)
汎用イニシャライザ
init(_:uniquingKeysWith:)
結合するクロージャを使用して、重複した全てのキーの値を決定し、与えられたシーケンス内のキー値のペアから新しい辞書を作成します。
宣言
パラメータ
keysAndValues | 新しい dictionary に使用すべきキー値のペアのシーケンス。 |
combine | 遭遇した重複キーの値で呼び出されるクロージャ。クロージャは、最終的な辞書に必要な値を返します。 |
議論
重複したキーを持つ可能性のあるキー値のタプルのシーケンスがある場合、このイニシャライザを使用して辞書を作成して下さい。辞書が作成されると、イニシャライザは全ての重複キーの現在値と新しい値を使用して結合したクロージャを呼び出します。結果となる辞書で使用すべき値を返す結合としてクロージャを渡します。クロージャは、2 つの値から選択するか、それらを結合して新しい値を生成するか、エラーを throw することもできます。
以下の例は、重複したキーの最初と最後の値を選択する方法を示しています。
let pairsWithDuplicateKeys = [("a", 1), ("b", 2), ("a", 3), ("b", 4)] let firstValues = Dictionary(pairsWithDuplicateKeys, uniquingKeysWith: { (first, _) in first }) // ["b": 2, "a": 1] let lastValues = Dictionary(pairsWithDuplicateKeys, uniquingKeysWith: { (_, last) in last }) // ["b": 4, "a": 3]
以下も見よ
辞書を作成する
空の辞書を作成します。
少なくとも指定された数の要素に対して事前に割り当てられたスペースを持つ空の辞書を作成します。
init<S>(uniqueKeysWithValues: S)
与えられたシーケンス内のキー値のペアから新しい辞書を作成します。
init<S>(grouping: S, by: (S.Element) -> Key)
キーが与えられたクロージャによって返されるグループ化であり、それらの値が各キーを返す要素の配列である新しい辞書を作成します。
トップへ
トップへ
トップへ
トップへ
トップへ