假设您有一个$decode = json_decode($jsonfile, TRUE);
,并希望Map[Option[Int], String]
放弃包含Map[Int, String]
作为密钥的条目。
另一个例子,应该是某种类似的None
并将其转换为List[(Option[Int], String)]
,再次丢弃包含List[(Int, String)]
作为第一个元素的元组。
最好的方法是什么?
答案 0 :(得分:7)
collect
是你的朋友:
val data = Map(Some(1) -> "data", None -> "")
scala> data collect { case ( Some(i), s) => (i,s) }
res4: scala.collection.immutable.Map[Int,String] = Map(1 -> data)
scala> data.toList collect { case ( Some(i), s) => (i,s) }
res5: List[(Int, String)] = List((1,data))