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인 엔트리를 제거해 보세요.

관련 항목: pickBy — 그 반대: 술어로 남깁니다 · omit — 고정된 키 목록으로 제거합니다 · isMatch — 엔트리용으로 바로 쓸 수 있는 깊은 비교 술어 · evolve — 제거하는 대신 값을 변환합니다