如何在Ruby中将数组[1,2,3]映射到[1,1,2,2,3,3]?

Hub*_*iak 2 ruby

我正在寻找最快的数组映射方式:

[1,2,3]
Run Code Online (Sandbox Code Playgroud)

[1,1,2,2,3,3]
Run Code Online (Sandbox Code Playgroud)

我最终得到了类似下面的东西.但这不是我需要的.

[1,2,3].map { |n| [n,n] } => [[1, 1], [2, 2], [3, 3]] 
Run Code Online (Sandbox Code Playgroud)

Bar*_*dys 7

你可以试试 flat_map

arr.flat_map { |n| [n, n] } # => [1, 1, 2, 2, 3, 3]
Run Code Online (Sandbox Code Playgroud)