【问题标题】:Reduce a multi-dimensional array into a smaller multi-dimensional array将多维数组缩减为更小的多维数组
【发布时间】:2012-10-21 20:59:06
【问题描述】:

我想将一个多维数组缩减为一个更小的多维数组。让我张贴我的意思。这是我的输入/起始数组:

[
  [
    [ ["Armando", "P"], ["Dave", "S"] ],
    [ ["Richard", "R"],  ["Michael", "S"] ],
  ],
  [
    [ ["Allen", "S"], ["Omer", "P"] ],
    [ ["David E.", "R"], ["Richard X.", "P"] ]
  ]
]

我认为这是我想简化为的四维数组:

["Armando", "P"], ["Dave", "S"], ["Richard", "R"],  ["Michael", "S"], ["Allen", "S"],["Omer", "P"] , ["David E.", "R"], ["Richard X.", "P"] 

如何在 Ruby 中做到这一点?

【问题讨论】:

  • 您可以遍历所有这些级别并构建您的结果。你试过吗? :)
  • @SergioTulentsev:但是Array#flatten 会为你做这件事。

标签: ruby loops


【解决方案1】:

使用Array#flatten(levels):

xs.flatten(2)

【讨论】:

  • @tokland:返回 => ["Armando", "P", "Dave", "S", "Richard", "R", "Michael", "S", "Allen "、"S"、"Omer"、"P"、"大卫 E."、"R"、"Richard X."、"P"]
  • 我要保持最后一关!!
  • @CSSS:你确定吗?我刚刚在控制台中对其进行了测试,从您的问题中逐字获取数组,您需要两个展平。无论如何,请检查flatten(1)
  • 仍然存在一定程度的嵌套
  • 对不起..我的错。你的解决方案很完美!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-15
  • 1970-01-01
  • 2021-02-21
  • 2019-06-13
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
相关资源
最近更新 更多