2017-12-22 13 views
3

私はタイプ[String: [SomeObject]?]の辞書を持っていて、同じタイプの別の辞書にマップしたいが、場合によっては内側の配列から要素を削除したい。値の配列を持つ辞書を値付きの別の辞書に素早く変換できますか?

この問題を解決するにはどうすればよいですか? mapfilterreduceなどのような素早い機能は、手動で新しい辞書を反復して再作成しなくても可能ですか?

+0

スウィフト4で、 'Dictionary'には[' mapValues(_:) '](https://developer.apple.com/documentation/swift/dictionary/2894692-mapvalues)メソッドがあります。 - https://stackoverflow.com/questions/24116271/whats-the-cleanest-way-of-applying-map-to-a-dictionary-in-swiftの可能な複製。 –

+0

@ MartinR And?その質問は、一定数を持つオブジェクト/値に関するものです。私の質問は、内側の要素の数が変化する配列についてです –

答えて

3

のは、私たちは、次の[文字列:[INT]]:持っているとしましょう

var dict = ["k1":[-1, -2, 1, 2]] 

を、我々は、アレイ内のすべての負の要素を削除する辞書を再マッピングしたい:

dict = dict.mapValues { v in v.filter { $0 > 0} } 
print(dict) // ["k1":[1,2]] 
関連する問題