Duplicate elements of array in ruby

后端 未结 4 1134
眼角桃花
眼角桃花 2021-01-25 12:11

I find a lot of reference about removing duplicates in ruby but I cannot find how to create duplicate.

If I have an array like [1,2,3] how can I map it to a

4条回答
  •  伪装坚强ぢ
    2021-01-25 13:06

    @Ursus answer is the most clean, there are possible solutions:

    a = [1, 2, 3]
    a.zip(a).flatten
    #=> [1, 1, 2, 2, 3, 3]
    

    Or

    a.inject([]) {|a, e| a << e << e} #  a.inject([]) {|a, e| n.times {a << e}; a}
    => [1, 1, 2, 2, 3, 3]
    

    Or

    [a, a].transpose.flatten # ([a] * n).transpose.flatten
    => [1, 1, 2, 2, 3, 3]
    

提交回复
热议问题