我有以下结构
aSectionArray = [[objA, objB, objC], [obj1, obj2, obj3], [objX, objY, objZ]]
objA有一个布尔,比如isEnabled
。
我需要根据此bool过滤aSectionArray
(说isEnabled == true
)。
需要帮助。
答案 0 :(得分:5)
您可以使用flatten()
和filter
,就像这样(Swift 2):
let result = aSectionArray.flatten().filter { $0.isEnabled }
它将为您提供isEnabled
为真的对象。
我们使用flatten()
将2D数组转换为1D数组,并使用filter
来获取闭包验证的对象。
在Swift 3(Xcode 8 beta 6)flatten
已成为joined
:
let result = aSectionArray.joined().filter { $0.isEnabled }