gpt4 book ai didi

arrays - Ruby - 优雅地展平数组但不要忽略空子数组

转载 作者:太空宇宙 更新时间:2023-11-03 17:09:39 24 4
gpt4 key购买 nike

使用 .flatten 是一个很方便的小技巧,可以将一个子数组的数组变成一个数组。例如:[[1,3],2,[5,8]].flatten => [1,3,2,5,8]您甚至可以包含 nil [1,[2,nil],3].flatten 将导致 [1,2,nil,3]

这种方法在嵌套 .map 方法时非常有用,但是你如何解释一个空的子数组呢?例如:[1,[2,3],[],4].flatten 会返回 [1,2,3,4]... 但是如果我需要跟踪空子数组可能将结果转换为 [1,2,3,0,4][1,2,3,nil,4]

有什么优雅的方法可以做到这一点吗?或者我是否需要编写一些方法来遍历每个单独的子数组并逐一检查?

最佳答案

如果不需要递归检查嵌套的子数组:

[1,[2,3],[],4].map { |a| a == [] ? nil : a }.flatten

关于arrays - Ruby - 优雅地展平数组但不要忽略空子数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42376299/

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