vadian的评论在这里非常重要。你不应该以这种方式拥有多个数组。创建一个包含数据的结构体:
struct Score {
let isComplete: Bool
let finalScore: Int
}
您可以添加日期或您目前有平行数组的其他字段。然后,您的数据如下所示:
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),
]
获取完整的文本只需进行筛选即可。
let completeScores = scores.filter { $0.isComplete }
当然,如果您只需要将最终得分作为数组输出,您可以使用map方法实现:
let finalCompleteScores = completeScores.map { $0.finalScore }
这是您应该考虑数据的方式,而不是一堆需要保持同步的数组。