将某些(Array(Array(Array(Array(String)))))转换/平化为Array(String)

时间:2019-07-15 08:25:24

标签: scala user-defined-functions scala-collections

我有一个Option[Array[Array[Array[String]]]],我想转换为Array[String]或Atleast Some(Array[String])

我尝试使用.flatten方法。

我可以使用.map(_.map(_.map(_.foreach(print))))进行打印,但希望将此打印的内容存储为列表。

期望:Array[String]Some(Array(String))

2 个答案:

答案 0 :(得分:2)

如果您完全了解结构,则可以执行以下操作:

对于Option[Array[String]]

myArray.map(_.flatten.flatten)

对于Array[String]

myArray.toArray.flatten.flatten.flatten

答案 1 :(得分:2)

要将Option[Array[Array[Array[String]]]]转换为Option[Array[String]],请执行以下操作:

.map(_.flatten.flatten)

要在结果中打印数据,请执行以下操作

.foreach(_.foreach(println))