我有一个数组[1,2,3],我想true在每个项目之间插入相同的值 ( ),使其变为:
#=> [1, true, 2, true, 3, true]
Run Code Online (Sandbox Code Playgroud)
我目前的方法有点啰嗦:
[1,2,3].zip(Array.new(3, true)).flatten
Run Code Online (Sandbox Code Playgroud)
谁能建议一种更优雅的方法来做到这一点?
您可以尝试使用flat_map, 并在每个元素后面添加一个true对象:
p [1, 2, 3].flat_map { |e| [e, true] } # [1, true, 2, true, 3, true]
Run Code Online (Sandbox Code Playgroud)
[1,2,3]另一种方法是获得和的乘积[true],并将结果展平:
p [1, 2, 3].product([true]).flatten # [1, true, 2, true, 3, true]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
852 次 |
| 最近记录: |