我有List [Map [String,String]]类型的listMap1变量,我想要所有与key' k1'相关联的值。作为一个逗号分隔值的字符串
import fiddle.Fiddle, Fiddle.println
import scalajs.js
@js.annotation.JSExport
object ScalaFiddle {
var m1:Map[String,String] = Map(("k1"->"v1"), ("k2"->"vv1"))
var m2:Map[String,String] = Map(("k1"->"v2"),("k2"->"vv2"))
var m3:Map[String,String] = Map(("k1"->"v3"),("k2"->"vv3"))
var listMap1 = List(m1,m2,m3)
var valList = ?? // need all values assoicated with k1 like --> v1,v2,v3...
}
答案 0 :(得分:7)
一个简单的方法是:
listMap1.flatMap(_.get("k1")).mkString(",")
如果您要生成CSV数据并且关联的值包含,
,则会发出警告,这将无效。 Map(("k1" -> "\some, string"))
答案 1 :(得分:1)
那可以吗?
val r = listMap1.filter(l => l.contains("k1") ).map(r => r("k1") ).mkString(",")