omitBy
술어에 걸리는 엔트리를 제외한 Map의 복사본을 반환합니다.
Map<K, V> omitBy<K, V>(bool Function((K, V) entry) f, Map<K, V> map)
강의
omit이 고정된 키 목록을 받는다면, omitBy는
술어를 받아 엔트리마다 판단합니다. 술어는 엔트리 전체를
(K, V) 레코드로 받으므로 키와 값을 모두 활용할 수
있습니다 — e.$1이 키, e.$2가 값입니다.
이는 라이브러리 전반에서 entries(map)이
Map을 표현하는 방식과 같습니다.
제거할 대상이 고정된 키 이름 집합이 아니라 조건으로 정의될 때 — "낙제 점수를 제거한다", "품절 항목을 제거한다" 같은 경우 — 쓰면 됩니다.
데모 1 · 기본
데모 2 · 값 조건으로 제거하기
직접 해 보기
연습: omitBy로 값이 false인 엔트리를 제거해 보세요.