Я пытаюсь извлечь диапазон значений из массива кортежей для каждого уникального значения. В конечном итоге исходные данные - это JSON, и я выбираю различные местоположения и время сопоставления для данных о встречах и помещаю их в кортеж для временного хранения и манипулирования данными (возможно, я делаю это более сложным, чем это должно быть).
Мой массив - это местоположение и время, например:
var tuple_array = [("Clinic", "1200"), ("ASC", "0900"), ("Clinic", "1300"), ("ASC", "0830"), ("Clinic", "1400")]
В конечном итоге я хотел бы получить отчет, в котором говорится: «У вас есть 2 приема в« ASC »с 0830-0900 и 3 приема в« Клинике »с 1200-1400».
До сих пор я был в состоянии извлечь количество уникальных записей для каждого местоположения и могу отсортировать массив по времени, но я не смог выяснить, как составлять отчеты по диапазонам.
Чтобы получить уникальные значения, которые я запустил:
let test = tuple_array.map { $0.0 }
let uniqueValues = test.reduce([], { $0.contains($1) ? $0 : $0 + [$1] })
Я также могу отсортировать массив кортежей, чтобы увидеть диапазон времени для дня (первая и последняя запись в массиве):
future_appts_counts_location_time_array.sort {$0.1 == $1.1 ? $0.1 < $1.1 : $0.1 < $1.1 }
но я изо всех сил пытаюсь понять, как получить отдельные диапазоны для каждого местоположения, основываясь на этом.
Любой совет?
Спасибо!