从数组创建字典,但是键唯一性有问题

时间:2019-05-12 13:18:52

标签: arrays swift dictionary

我从API收到了一系列获奖者。每周我都有3名优胜者。因此,我想使用每个获奖者中的星期数作为字典的键,以便将它们用作表视图中的部分名称。

我尝试了let dict = Dictionary(uniqueKeysWithValues: winners.map{($0.weekNo, $0)}) 但是由于工作日不是唯一的,并且我每周有3位获奖者,所以我已经在获奖者数组中拥有3位具有相同星期数的获奖者。

我如何才能用唯一的关键“周号” [String: Winners]

来收集这些获奖者,每3个获奖者

1 个答案:

答案 0 :(得分:1)

显然您使用的API错误。

要按周编号分组该数组,请使用init(grouping:by:)

let dict = Dictionary(grouping: winners, by: {$0.weekNo})

结果是[String: [Winners]]而不是[String: Winners]