我有一个Map[String, Any]
甜甜圈
val donuts: Seq[Map[String, Any]] = Seq(Map("type" -> "plain", "price" -> 1.5), Map("type" -> "jelly", "price" -> 2.5))
我想找到价格最高的甜甜圈maxBy
。
val d = donuts.maxBy(donut => donut("price").toString.toDouble)
成功返回Map[String,Any] = Map(type -> "jelly", price -> 2.5)
我可以访问d("price")
找到价格最高的甜甜圈的价格。但是,如果我尝试在一行中执行此操作:
donuts.maxBy(donut => donut("price").toString.toDouble)("price")
它抛出:
错误:类型不匹配; 找到:字符串(“价格”) 要求:订购[双] (donuts.maxBy(donut => donut("price").toString.toDouble))("price") ^
这里有什么问题,我怎样才能把它变成一条线?