如何平铺至少有一个嵌套的数组对象?
我有一个数组。
items = [[["Period", "November 19 - 21, 2016"], ["Title", "Test"]], ["Total", "$350"]]
我喜欢把它改成至少有一个巢的阵列。
[["Period", "November 19 - 21, 2016"], ["Title", "Test"], ["Total", "$350"]]
有什么想法吗?
更新
我尝试了array#flatten
方法但没有骰子。
items.flatten(1)
#=> [["Period", "November 19 - 21, 2016"], ["Title", "Test"], "Total", "$350"]
此外,可以更改数组中值的顺序/数量。
[["Total", "$350"], [["Period", "November 19 - 21, 2016"], ["Title", "Test"]]]
答案 0 :(得分:1)
如果树中的最后一个分支(嵌套数组)总是有两个叶子,则可以展平树并将其成对切片:
items.flatten.each_slice(2).to_a
# => [["Period", "November 19 - 21, 2016"], ["Title", "Test"], ["Total", "$350"]]