Scala检查Map中是否存在None



我有一个Map,其类型为:

Map[String, Option[SomeType]]

我想知道这个Map中是否有任何元素包含None作为值。我不想收集元素,但我只想得到一个布尔值为真或假!

不确定这是否正确:

  val isNoneExists = myMap.exists {
    case (_, optionalElem) => optionalElem match {
      case Some(elem) => false
      case None => true
    }
  }

你可以这样做:

scala> val m = Map("foo" -> Some(10), "boo" -> None)
scala> m.values.exists(_ == None)
res21: Boolean = true

最新更新