新功能以更「功能」的風格進行編程。通常我會編寫一系列嵌套的foreach循環和總計+=
。在Scala中使用嵌套地圖滾動數據
我有一個數據結構,看起來像:
Map(
"team1" ->
Map(
"2015" -> Map("wins" -> 30, "losses" -> 5),
"2016" -> Map("wins" -> 3, "losses" -> 7)
),
"team2" ->
Map(
"2015" -> Map("wins" -> 22, "losses" -> 1),
"2016" -> Map("wins" -> 17, "losses" -> 4)
)
)
我要的是簡單地扔掉年份信息,並通過團隊增加了勝/負在一起的數據結構。
Map(
"team1" -> Map("wins" -> 33, "losses" -> 12),
"team2" -> Map("wins" -> 39, "losses" -> 5)
)
我一直在尋找groupBy但如果我沒有這個嵌套結構,它似乎僅是有用的。
任何想法?或者更傳統的命令/習俗方法在這裏是有利的。
謝謝!我最終將您的解決方案修改爲'mapValues(_。values.flatten.groupBy(_._ 1).mapValues(_。map(_._ 2).sum))',但是這很有效。 – diplosaurus