【发布时间】:2017-12-17 11:08:31
【问题描述】:
我在以下结构中有 3 个模型
class Option {
var id : String = ""
var quantity : Int = 0
init(_id: String, _quantity: Int) {
id = _id
quantity = _quantity
}
}
class RemovedItems {
var id : String = ""
var quantity : Int = 0
init(_id: String, _quantity: Int) {
id = _id
quantity = _quantity
}
}
class ProductOrder {
var guid : String = ""
var sizeHid : String = ""
var options : [Option] = []
var removed : [RemovedItems] = []
init(id: String, sizeId: String, _options: [Option], removedItems: [RemovedItems]) {
guid = id
sizeHid = sizeId
options = _options
removed = removedItems
}
}
现在我有一个 ProductOrder 列表
[产品订单]
我想按选项和已删除列表过滤此列表。
productOrder1 具有带有 [A1, A2] 的选项列表,并使用 [C1] 删除
productOrder2 有带有 [A1, A2] 的选项列表,并使用 [] 删除
productOrder3 具有带有 [A1] 的选项列表,并使用 [C1] 删除
productOrder4 有带有 [A1, A2] 的选项列表,并使用 [C1] 删除
所以结果会显示 productOrder1, productOrder4 是相同的,因为它们具有相同的选项和删除的列表。
我可以通过遍历数组并使用一些逻辑来实现这一点,但我希望能够使用更高阶的函数和序列来做到这一点。简而言之,我想稍微清理一下我的代码。那么,如何做到这一点呢?
【问题讨论】:
标签: ios swift generics filter sequence