The comment from vadian is very important here. You should not have multiple arrays this way. Create a struct that holds the data:
struct Score {
let isComplete: Bool
let finalScore: Int
}
You can then add a Date or whatever other fields you currently have parallel arrays for. Then your data looks like:
let scores = [
Score(isComplete: true, finalScore: 12),
Score(isComplete: true, finalScore: 12),
Score(isComplete: true, finalScore: 12),
Score(isComplete: true, finalScore: 12),
Score(isComplete: false, finalScore: 3),
Score(isComplete: true, finalScore: 13),
Score(isComplete: true, finalScore: 13),
Score(isComplete: false, finalScore: 2),
Score(isComplete: false, finalScore: 2),
]
And getting complete ones is simple by filtering
let completeScores = scores.filter { $0.isComplete }
Of course if you wanted just the final scores as an array, you can map down to that:
let finalCompleteScores = completeScores.map { $0.finalScore }
This is how you should be thinking about your data, rather than as a bunch of arrays you have to keep in sync.