arrays - 如何使用 ExSwift Array.toDictionary?

标签 arrays swift dictionary

ExSwift 有一个数组扩展:

    /**
    Converts the array to a dictionary with keys and values supplied via the transform function.

    :param: transform
    :returns: A dictionary
*/
func toDictionary <K, V> (transform: (Element) -> (key: K, value: V)?) -> [K: V] {
    var result: [K: V] = [:]
    for item in self {
        if let entry = transform(item) {
            result[entry.key] = entry.value
        }
    }

    return result
}

然而,ExSwift Wiki 仅显示了另一个 toDictionary() 方法签名的示例。我还不太熟悉这些方法签名的工作方式。所以我想知道是否有人可以向我展示如何使用上述方法调用的示例?

最佳答案

您需要提供一个闭包,它接受数组的参数元素并返回键值对。

假设您有一个键数组,并希望为每个键创建一个具有默认值的字典(假设为 0):

let keys = ["a", "b", "c"]
let dictionary = keys.toDictionary { element in
    return (element, 0)
}

关于arrays - 如何使用 ExSwift Array.toDictionary?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30183315/

相关文章:

java - 返回数组的奇数并对其求和

java - try catch null 和空数组

dictionary - Prolog:如何将字典的负索引转换为最大索引的正后继者?

java - 如何在单个语句中创建具有映射的映射

java - 是否可以使用MapStruct从HashMap转换为List

javascript - 从数组中删除空字符串(正则表达式) - Javascript

javascript - 使用表行值构建关联数组

ios - 向下滚动 UIScrollView 并交互式拖动小键盘时检测键盘高度

ios - UIActivity ActivityViewController 在 Swift 中的 iPad 上崩溃

swift - 如何根据图像调整 UIImaveView 的大小?