scala - scala中的嵌套映射迭代器
问题描述
我的代码中有嵌套地图输出,如下所示
Map(test -> 113123, "cat" -> None, myList -> Map(test2 -> 321323, test3 -> 11122))
但是如果有人知道,我希望使用 scala 迭代器进行如下输出,请帮助我,因为我是非常新的 Scala
Map(test -> 113123, "cat" -> None, myList -> Some(Map(test2 -> 321323, test3 -> 11122)))
解决方案
假设您有类似的数据
val data = Map("test" -> 113123, "cat" -> None, "myList" -> Map("test2" -> 321323, "test3" -> 11122))
//data: scala.collection.immutable.Map[String,Any] = Map(test -> 113123, cat -> None, myList -> Map(test2 -> 321323, test3 -> 11122))
然后你可以做
val output = data.map(x => if (x._2.isInstanceOf[Map[String, Long]]) (x._1 -> Some(x._2)) else x)
//output: scala.collection.immutable.Map[String,Any] = Map(test -> 113123, cat -> None, myList -> Some(Map(test2 -> 321323, test3 -> 11122)))
得到你想要的输出
您可以使用println
查看output
as
println(output)
//Map(test -> 113123, cat -> None, myList -> Some(Map(test2 -> 321323, test3 -> 11122)))
推荐阅读
- gzip - GZIP 中的“Apollo 文件类型信息”额外字段有什么作用?
- python - TensorFlow 2.4 和 Nvidia NVS 310
- laravel-8 - Symfony\Component\Routing\Exception\RouteNotFoundException
- python - 网格中四个相邻数字的最大乘积(#11 Euler)
- google-sheets - 使用唯一标识符更新 Google 电子表格
- rabbitmq - 何时不在微服务架构中使用 RabbitMQ 等消息代理?
- migration - 如何将 Control.ST 代码迁移到 Idris 2 (Control.App)?
- discord.js - 如何在删除之前检查消息是否存在
- ios - 如何在 SwiftUI 2 上的地图注释上显示工作表?
- javascript - APK 发布或内置 react native 后功能未运行