文書   >   Swift   >   Dictionary   >   init(grouping:by:)
汎用イニシャライザ
init(grouping:by:)
キーが与えられたクロージャによって返されるグループ化であり、それらの値が各キーを返す要素の配列である新しい辞書を作成します。
宣言
パラメータ
values | 辞書内でグループ化する値のシーケンス。 |
keyForValue | values 内の各要素のキーを返すクロージャ。 |
議論
新しい辞書の "values" の位置にある配列にはそれぞれ、ソースシーケンスと同じ順序の要素が少なくとも 1 つ含まれています。
以下の例は、名前の配列を宣言し、名前を最初の文字でグループ化して、その配列から辞書を作成します。
let students = ["Kofi", "Abena", "Efua", "Kweku", "Akosua"]
let studentsByLetter = Dictionary(grouping: students, by: { $0.first! })
// ["E": ["Efua"], "K": ["Kofi", "Kweku"], "A": ["Abena", "Akosua"]]
新しい StudentsByLetter 辞書には 3 つのエントリがあり、学生の名前はキー "E"、"K"、"A" でグループ化されています。
以下も見よ
辞書を作成する
空の辞書を作成します。
少なくとも指定された数の要素に対して事前に割り当てられたスペースを持つ空の辞書を作成します。
init<S>(uniqueKeysWithValues: S)
与えられたシーケンス内のキー値のペアから新しい辞書を作成します。
init<S>(S,uniquingKeysWith: (Value, Value) -> Value)
結合するクロージャを使用して、重複した全てのキーの値を決定し、与えられたシーケンス内のキー値のペアから新しい辞書を作成します。
トップへ
トップへ
トップへ
トップへ
トップへ