gpt4 book ai didi

Ruby - 数组展平

转载 作者:数据小太阳 更新时间:2023-10-29 08:36:25 24 4
gpt4 key购买 nike

我有一个 n 深度数组,其中 n 是一个大于或等于 2 的变量:

[[1,1],[[1,1],[1,1]]]

我想将这个数组展平为恰好有 2 个深度,如下所示:

[[1,1],[1,1],[1,1]]

谁能想出一个好的方法来实现它?

最佳答案

应该这样做。

def flatten_after_first(arr)
arr.flat_map { |a| a.first.is_a?(Array) ? a.map(&:flatten) : [a] }
end

flatten_after_first [[1,1],[[1,1],[1,1]]]
#=> [[1, 1], [1, 1], [1, 1]]

flatten_after_first [[1,1], [[2,2], [2,2]], [[[3,3], [3,3]], [[3,3], [3,3]]]]
#=> [[1, 1], [2, 2], [2, 2], [3, 3, 3, 3], [3, 3, 3, 3]]

关于Ruby - 数组展平,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35736060/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com