compactObject

값이 null인 키를 모두 제거한 Map의 복사본을 반환합니다 — 한 단계 깊이까지만.

Map<K, V> compactObject<K, V>(Map<K, V?> map)

강의

compactObjectMap을 위한 compact입니다 — nullIterable에서 걷어 내던 그 함수의 Map 버전이라고 보면 됩니다. 폼 데이터나 일부만 채워진 레코드를 직렬화하기 전에 정리할 때 유용합니다 — 아무도 채우지 않은 필드는 버리고 나머지는 그대로 둡니다.

정리는 얕게 이루어집니다. 최상위 값만 검사하므로, 두 단계 아래에 중첩된 null은 — 즉 그 자체가 Map인 값 안에 들어 있는 것은 — 전혀 건드리지 않습니다. 재귀적으로 정리해야 한다면 그 과정은 직접 작성해야 합니다(또는 바깥 맵을 조립하기 전에 중첩된 맵에 compactObject를 한 번 더 호출하면 됩니다).

데모 1 · 기본

데모 2 · 얕은 동작 확인하기

직접 해 보기

연습: compactObjectdraft에서 값이 null인 키를 제거해 보세요.

관련 항목: compactIterable 버전 · isEmpty — 값을 기준으로 하는 관련 검사 · omitBy — 이 함수가 특수화한 일반 술어 버전 · evolve — 값을 제거하는 대신 변환하기