pickBy

술어에 맞는 엔트리만 남긴 Map의 복사본을 반환합니다.

Map<K, V> pickBy<K, V>(bool Function((K, V) entry) f, Map<K, V> map)

강의

pickByomitBy를 그대로 뒤집은 함수이며, 호출 방식도 똑같습니다. 술어는 엔트리마다 (K, V) 레코드 하나를 받으므로 키는 e.$1, 값은 e.$2로 꺼내 씁니다. 술어가 true를 반환한 엔트리만 결과에 남습니다.

설정 값이나 기능 플래그가 담긴 맵에서 "지금 필요한 것들"만 골라낼 때 자주 씁니다 — 활성화된 플래그, 특정 접두사가 붙은 키, 임계값을 넘는 값처럼요. 엔트리를 하나씩 도는 반복문을 직접 쓸 필요가 없습니다.

데모 1 · 기본

데모 2 · 키를 기준으로 걸러내기

직접 해 보기

연습: pickBy로 값이 true인 엔트리만 남겨 보세요.

관련 항목: omitBy — 그 반대: 술어로 제거합니다 · pick — 고정된 키 목록으로 남깁니다 · matches — 모양 비교용으로 바로 쓸 수 있는 술어 · compactObject — "null을 걷어내는" 용도로 특수화된 pickBy