2016-07-20 10 views
0

の配列のフィルタアレイは、私は次のような構造を持っている、isEnabledを言います。スウィフト:OBJAはブールを持っている</p> <pre><code>aSectionArray = [[objA, objB, objC], [obj1, obj2, obj3], [objX, objY, objZ]] </code></pre> <p>オブジェクト

このブールに基づいてaSectionArrayをフィルタリングする必要があります(例:isEnabled == true)。

ヘルプが必要です。

+2

あなたはフィルタを介して達成するために何をしたいですか? isEnabledがtrueのすべてのオブジェクトを欲しいですか? – Welton122

+1

配列のタイプは何ですか? –

+1

Ericが示唆するように平坦化してフィルタリングしたい場合や、要素が一致する外側の配列の要素、または一致するオブジェクトの配列の配列のみを返すかどうかは不明です。 –

答えて

5

あなたはこのようflatten()filter、(スウィフト2)を使用することができます

let result = aSectionArray.flatten().filter { $0.isEnabled } 

それはあなたisEnabledが真のオブジェクトを提供します。

flatten()を使用して2D配列を1D配列にし、filterを使用して、クロージャが検証するオブジェクトを取得します。スウィフト3(Xcodeの8ベータ6)flatten

joinedとなりました:

let result = aSectionArray.joined().filter { $0.isEnabled } 
関連する問題