我有一个属性为 date
的对象数组。
我想要的是创建数组数组,其中每个数组将包含具有相同日期的对象。
我明白,我需要像 .filter
这样的东西来过滤对象,然后 .map
把所有东西添加到数组中。
但是如何告诉 .map
我想为每个组从过滤的对象中分离数组,并且这个数组必须添加到“全局”数组以及如何告诉 .filter
我想要具有相同日期的对象?
最佳答案
可能晚了,但新的 Xcode 9 sdk 字典有新的初始化方法
init<S>(grouping values: S, by keyForValue: (S.Element) throws -> Key) rethrows where Value == [S.Element], S : Sequence
Documentation has simple example what this method does. 我只是在下面发布这个例子:
let students = ["Kofi", "Abena", "Efua", "Kweku", "Akosua"]
let studentsByLetter = Dictionary(grouping: students, by: { $0.first! })
结果将是:
["E": ["Efua"], "K": ["Kofi", "Kweku"], "A": ["Abena", "Akosua"]]
关于arrays - 按某些属性对数组的元素进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41564580/