gpt4 book ai didi

arrays - Ruby 中的重复数组元素

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

我有一个数组 rangers = ["red", "blue", "yellow", "pink", "black"] (绿色应该是其中的一部分值得商榷,但我决定省略它)

我想将数组元素加倍以便返回 rangers = ["red", "red", "blue", "blue", "yellow", "yellow", "pink", "pink", "black", "black"]按照这个顺序。

我试过环顾四周,但找不到按该顺序执行此操作的方法。 (rangers *= 2 将不起作用)。

我也试过rangers.map{|ar| ar * 2} #=> ["redred", "blueblue",...]

我试过了 rangers << rangers #=> ["red", "blue", "yellow", "pink", "black", [...]]

如何复制元素以返回其旁边的重复元素值?另外,如果可能的话,我想复制 n 次,所以当 n = 3 , 它返回 ["red", "red", "red", "blue", "blue", "blue", ...]

最佳答案

怎么样

rangers.zip(rangers).flatten

使用 Array#zipArray#flatten

对于您的第二个请求可能概括得更好的解决方案可能是:

rangers.flat_map { |ranger| [ranger] * 2 }

使用 Enumerable#flat_map .在这里,您可以将 2 替换为任何值或变量。

关于arrays - Ruby 中的重复数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38574720/

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