[swift] Swift 딕셔너리에서 특정 키와 값을 이용하여 새로운 딕셔너리를 생성하는 방법은?

새로운 딕셔너리를 만들고자 하는 원본 딕셔너리가 있다고 가정해봅시다. 이때 filterreduce 메서드를 사용하여 원하는 결과를 얻을 수 있습니다.

예를 들어, 다음과 같은 딕셔너리가 있다고 가정해봅시다.

let originalDictionary = ["a": 1, "b": 2, "c": 3, "d": 4]

여기서 b 키와 c 값을 사용하여 새로운 딕셔너리를 만들고 싶다면 다음과 같이 할 수 있습니다.

let newDictionary = originalDictionary.filter { $0.key == "b" || $0.key == "c" }.reduce(into: [:]) { result, pair in result[pair.key] = pair.value }

이 코드에서 filter 메서드는 특정 조건을 만족하는 항목들로 이루어진 딕셔너리를 만들고, reduce 메서드는 새 딕셔너리를 초기화한 후 각 항목을 추가합니다.

참고문헌: