代码之家  ›  专栏  ›  技术社区  ›  Vyachaslav Gerchicov

将具有值数组的字典映射到swift中具有值数组的另一个字典?

  •  4
  • Vyachaslav Gerchicov  · 技术社区  · 8 年前

    我有一本类型的字典 [String: [SomeObject]?] 我想将它映射到另一个相同类型的字典,但在某些情况下会从内部数组中删除元素。

    如何解决这个问题?如果可以只使用swift功能,如 map , filter , reduce 等等,而不手动迭代和重新创建新词典?

    1 回复  |  直到 8 年前
        1
  •  4
  •   mugx    8 年前

    假设我们有以下[字符串:[Int]]:

    var dict = ["k1":[-1, -2, 1, 2]]
    

    我们要重新映射字典,删除数组中的所有负元素:

    dict = dict.mapValues { v in v.filter { $0 > 0} }
    print(dict) // ["k1":[1,2]]