У меня есть array
из MyData
объектов (MyData
- это struct
):
[
MyData(id: 3, locale: "en", title: "p1", date: "10/15/2019"),
MyData(id: 3, locale: "de", title: "p2", date: "11/12/2019"),
MyData(id: 32, locale: "fr", title: "free", date: "10/11/2019"),
MyData(id: 15, locale: "de", title: "free", date: "10/11/2019"),
MyData(id: 19, locale: "de", title: "p1", date: "11/10/2019"),
MyData(id: 19, locale: "de", title: "p2", date: "11/10/2019"),
MyData(id: 19, locale: "de", title: "p3", date: "11/10/2019"),
]
Я бы хотел сгруппировать этот массив (или даже намеренно создать новый)) на основе ключа id
.
Результат должен быть таким:
[
[MyData(id: 3, locale: "en", title: "p1", date: "10/15/2019"), MyData(id: 3, locale: "de", title: "p2", date: "11/12/2019")],
MyData(id: 32, locale: "fr", title: "free", date: "10/11/2019"),
MyData(id: 15, locale: "de", title: "free", date: "10/11/2019"),
[MyData(id: 19, locale: "de", title: "p1", date: "11/10/2019"),MyData(id: 19, locale: "de", title: "p2", date: "11/10/2019"),MyData(id: 19, locale: "de", title: "p3", date: "11/10/2019")]
]
, то есть: массивы с одинаковым идентификатором должны образовывать новый массив.
Конечно, я мог бы просто зациклить первый массив и создать второй, но я хотел знать, может ли Swift что-то сделать со своими фильтрами.Любая помощь приветствуется.