Scala 嵌套映射过滤器

Scala nested map filter

我有一个嵌套地图,其中包含地图以及列表和 None 值的组合,如下所示

Map(test -> 113123, "cat" -> None,crm -> List(age, gender, code), myList -> Map(test2 -> 321323, test3 -> 11122))

但我想从上面嵌套的地图中过滤掉非地图值

预期输出:- Map( myList -> Map(test2 -> 321323, test3 -> 11122))

collect 是你的朋友,每当你想做一些涉及以涉及限制到某种类型的方式过滤集合的事情时:

val map : Map[Any, Any] = Map(...)

map.collect {
  case (key, map: Map[_, _]) => (key, map)
}.toMap