我有一個嵌套的地圖m
這就好比:斯卡拉 - 減少/ foldLeft
m = Map("email" -> "[email protected]", "background" -> Map("language" -> "english"))
我有一個數組arr = Array("background","language")
如何foldLeft /減少陣列和查找的字符串「英文「從地圖上。我嘗試這樣做:
arr.foldLeft(m) { (acc,x) => acc.get(x) }
但我得到這個錯誤:
<console>:10: error: type mismatch;
found : Option[java.lang.Object]
required: scala.collection.immutable.Map[java.lang.String,java.lang.Object]
arr.foldLeft(m) { (acc,x) => acc.get(x) }
不要有工作代碼,但這裏有一個提示:'M(「背景」)asInstanceOf [地圖[字符串,字符串]( 「語言」)'。 'm(「background」)'是一個'java.lang.Object',你需要額外的cast/match。然而,這個數據結構似乎有點奇怪,你應該考慮更多面向對象的東西。 –