Играя с расширением коллекции в Swift 4.2, я пытаюсь сделать следующее:
Если коллекция содержит дубликаты, я хотел бы получить номер каждого элемента в коллекции.
Смотрите мой код ниже.
Есть две ошибки (см. Скриншоты)
Вот мой код:
extension Collection where Iterator.Element: Comparable {
func occurrencesOfElements() -> [Int: Self] {
var counts: [Int: Self] = [:]
let sortedArr = self.sorted(by: { $0 > $1 })
let uniqueArr = Set(sortedArr) // err-1 !!!!!!!!
if uniqueArr.count < sortedArr.count {
uniqueArr.forEach { counts[$0, default: 0] += 1 } // err-2 !!!!!!!
}
return counts
}
}
// Testing with...
[6, 7, 4, 5, 6, 0, 6].occurrencesOfElements()
// Expected result (see number 6 occurs twice) :
// [0 : 1, 4: 1, 5: 1, 6 : 2, 7 : 1]