元组内部的操作 - 将嵌套数组转换为平面数组

时间:2015-06-03 23:35:56

标签: arrays scala

我问了一个关于如何将数组(“AA”,数组(“BB”,“CC”),“DD”)转换为数组(“AA”,“BB”,“CC”,“DD”)的问题),由

解决
arr.flatMap {
   |   case s: String => Array(s)
   |   case a: Array[String] => a
   | } 

现在我有数据阵列((AA,阵列(BB,CC),DD))。它看起来像一个包含嵌套数组的元组数组。我想把输出作为数组((AA,BB,CC,DD)),但无法搞清楚。请帮忙!谢谢!

2 个答案:

答案 0 :(得分:0)

你可以这样做:

val a = arr.head; Array(a._1, a._2, a._3)... [the rest of your code]

答案 1 :(得分:0)

我明白了。假设我们有数据: val data = Array((" AA",数组(" BB"," CC")," DD"))

以下步骤: val x =数据匹配{case Array((a,b,c))=>数组(a,b,c)} val y = x.flatMap {case s:String =>阵列(一个或多个); case a:Array [String] => a}

我得到了y:Array [String] = Array(AA,BB,CC,DD)