У меня есть сценарий, в котором у меня есть два массива кортежей.
tuple1 = [(score1, index1), (score2, index2), (score3, index3)]
tuple2 = [(date1, index1), (date2, index2), (date3, index4)]
Я хочу получить оценки и даты из этих кортежей и создать новый массив кортежей, который будет содержать счет идата с таким же индексом, как этот:
tuple3 = [(score1, date1), (score2, date2)]
Как я могу это реализовать?Какова лучшая практика, чтобы следовать в этом сценарии? Примечание: Массивы могут быть разных размеров
Моя реализация сценария выглядит следующим образом:
var tuple3 = [(Double, Date)]()
for (i,psa) in tuple1.enumerated() {
let date = tuple2.filter({ $0.1 == i })
if date.count == 1 {
let newTuple = (tuple1.0, date[0].0)
tuple3.append(newTuple)
}
}
Это правильный путьсделать это или есть лучший?