初始化器
init(_:
init(_:uniquingKeysWith:)
從給定序列中的鍵值對創建一個新字典,使用組合閉包來確定任何重複鍵的值。
聲明
init<S>(
_ keysAndValues: S,
uniquingKeysWith combine: (Value, Value) throws -> Value) rethrows where S : Sequence, S.Element == (Key, Value
)
參數
keysAndValues
用於新字典的鍵值對序列。
combine
使用遇到的任何重複鍵的值調用的閉包。閉包返回最終字典所需的值。
詳述
當您有一係列可能具有重複鍵的鍵值元組時,您可以使用此初始化程序來創建字典。在構建字典時,初始化程序使用任何重複鍵的當前值和新值調用 combine
閉包。將閉包作為combine
傳遞,該閉包返回要在結果字典中使用的值:閉包可以在兩個值之間進行選擇,將它們組合以產生新值,甚至拋出錯誤。
以下示例顯示如何為任何重複鍵選擇第一個和最後一個值:
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]
可用版本
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(grouping:by:)用法及代碼示例
- Swift Dictionary init(dictionaryLiteral:)用法及代碼示例
- 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(_:uniquingKeysWith:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。