初始化器
init(grouping:
init(grouping:by:)
創建一個新字典,其鍵是給定閉包返回的分組,其值是返回每個鍵的元素的數組。
聲明
init<S>(
grouping values: S,
by keyForValue: (S.Element) throws -> Key
) rethrows where Value == [S.Element], S : Sequence
參數
values
要分組到字典中的值序列。
keyForValue
為
values
中的每個元素返回一個鍵的閉包。
詳述
新字典“values”位置的數組每個都包含至少一個元素,且元素的順序與源序列相同。
以下示例聲明了一個名稱數組,然後通過按首字母分組名稱從該數組創建一個字典:
let students = ["Kofi", "Abena", "Efua", "Kweku", "Akosua"]
let studentsByLetter = Dictionary(grouping: students, by: { $0.first! })
// ["E": ["Efua"], "K": ["Kofi", "Kweku"], "A": ["Abena", "Akosua"]]
新的 studentsByLetter
字典包含三個條目,學生的姓名由鍵 "E"
、 "K"
和 "A"
分組。
可用版本
iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+
相關用法
- Swift Dictionary init(uniqueKeysWithValues:)用法及代碼示例
- Swift Dictionary init(dictionaryLiteral:)用法及代碼示例
- Swift Dictionary init(_:uniquingKeysWith:)用法及代碼示例
- Swift Dictionary index(forKey:)用法及代碼示例
- Swift Dictionary indices用法及代碼示例
- Swift Dictionary index(_:offsetBy:)用法及代碼示例
- Swift Dictionary index(_:offsetBy:limitedBy:)用法及代碼示例
- Swift Dictionary isEmpty用法及代碼示例
- Swift Dictionary allSatisfy(_:)用法及代碼示例
- Swift Dictionary values用法及代碼示例
- Swift Dictionary dropFirst(_:)用法及代碼示例
- Swift Dictionary firstIndex(where:)用法及代碼示例
- Swift Dictionary first(where:)用法及代碼示例
- Swift Dictionary merge(_:uniquingKeysWith:)用法及代碼示例
- Swift Dictionary subscript(_:default:)用法及代碼示例
- Swift Dictionary reduce(_:_:)用法及代碼示例
- Swift Dictionary suffix(from:)用法及代碼示例
- Swift Dictionary subscript(_:)用法及代碼示例
- Swift Dictionary makeIterator()用法及代碼示例
- Swift Dictionary randomElement()用法及代碼示例
- Swift Dictionary dropLast(_:)用法及代碼示例
- Swift Dictionary min(by:)用法及代碼示例
- Swift Dictionary max(by:)用法及代碼示例
- Swift Dictionary updateValue(_:forKey:)用法及代碼示例
- Swift Dictionary removeValue(forKey:)用法及代碼示例
注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 Dictionary init(grouping:by:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。