2016-11-17 21 views
4

辞書をその値の平坦な配列にマップしようとしています。私は最終的に二つの別々のフラットマップ呼び出しを使用せずにこれを行うには良い方法はありスウィフトフラットマップ辞書データ構造

objectsDic.map { $0.value }.flatMap { $0 }.flatMap { $0 } 

を動作する方法を発見した[Object]

var objectsDic: [Int : [[Object]]] 

にこのオブジェクトをオンにしますか?ありがとう!

+3

オルタナティブ: '配列(。objectsDic.values.joinedを())(参加)' –

+2

さてあなた最初の 'map'を' flatMap'に変換して最後の呼び出しを取り出すことができますが、それでも2つの 'flatMap'呼び出しです。 – Hamish

+0

@MartinR yeah 'joined()'は 'flatMap {$ 0}'より少し良いです – Alex

答えて

1

コメントで提案のいくつかのハイブリッド、そして私が最も簡潔な表記信じる:

objectsDict.flatMap{$0.value.joined()} 
関連する問題