compactObject
값이 null인 키를 모두 제거한 Map의 복사본을 반환합니다 — 한 단계 깊이까지만.
Map<K, V> compactObject<K, V>(Map<K, V?> map)
강의
compactObject는 Map을 위한
compact입니다 —
null을 Iterable에서 걷어 내던 그 함수의
Map 버전이라고 보면 됩니다. 폼 데이터나 일부만 채워진 레코드를
직렬화하기 전에 정리할 때 유용합니다 — 아무도 채우지 않은 필드는
버리고 나머지는 그대로 둡니다.
정리는 얕게 이루어집니다. 최상위 값만 검사하므로,
두 단계 아래에 중첩된 null은 — 즉 그 자체가
Map인 값 안에 들어 있는 것은 — 전혀 건드리지 않습니다.
재귀적으로 정리해야 한다면 그 과정은 직접 작성해야 합니다(또는
바깥 맵을 조립하기 전에 중첩된 맵에
compactObject를 한 번 더 호출하면 됩니다).
데모 1 · 기본
데모 2 · 얕은 동작 확인하기
직접 해 보기
연습: compactObject로 draft에서 값이 null인 키를 제거해 보세요.