我需要知道一个很好的解决方案在斯威夫特为下面的问题,我面临的。
我有一个声明为var dataArray = [PlanModel]()
的模型数组。
class PlanModel: {
var isPurchased:String?
var planName:String?
}
现在我从服务器获取数据,然后用模型填充
dataArray
。dataArray
由3个模型组成。模型的价值是:模型1:
isPurchased = "true"
planName = "Question"
模型2:
isPurchased = "true"
planName = "Personal"
模型3:
isPurchased = "false"
planName = "Full"
我需要的是通过检查计划是否通过检查
isPurchased
的值购买来减少这个数组。如果为真,则将其从数组中移除,如果为假,则将其保留在数组中。请告诉我用什么更简单有效的方法来快速完成这项工作?
最佳答案
您可以使用filter
函数
var reducedArray = dataArray.filter {$0.isPurchased == "false"}
这将检查
dataArray
的每个元素,如果元素isPurchased
是"false"
它将保留它