2017-12-22 37 views
3

유형이 [String: [SomeObject]?] 인 사전을 가지고 있으며 같은 유형의 다른 사전에 매핑하려고하지만 경우에 따라 내부 배열에서 요소를 제거합니다.값 - 배열을 가진 사전을 값이있는 다른 사전에 - 신속한 배열로 배열 할 수 있습니까?

이 문제를 해결하는 방법은 무엇입니까? map, filter, reduce 등의 빠른 기능을 사용하여 새 사전을 반복하여 다시 만들지 않고도 가능하면 어떻게해야합니까?

+0

을 ,'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 그리고? 그 질문은 일정한 수의 객체/값에 관한 것입니다. 내 질문에 내부 요소의 개수가 다른 배열에 대한 것입니다. –

답변

3

의 우리는 다음과 같은 있다고 가정 해 봅시다 [문자열 : [지능]] :

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

우리는 배열의 모든 부정적인 요소를 제거하는 사전 매핑 할 : 스위프트 4에서

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