从ruby中的Array获取类似的值

时间:2017-11-14 19:07:13

标签: ruby-on-rails

我有array

sample_array = [10001567, 10001789, 2347800, 10001534, 64786592, 00000355]
output_array = [10001567, 10001789, 10001534]

我需要将所有elements提取到新的array中,其中前5个数字在给定的array中必须相同。如何在ruby中执行此操作。

1 个答案:

答案 0 :(得分:1)

sample_array = [10001567, 10001789, 2347800, 10001534, 64786592]
patterns = sample_array.group_by { |el| el.to_s.chars.first(5).join.to_i }
=> {10001=>[10001567, 10001789, 10001534], 23478=>[2347800], 64786=>[64786592]}  

UPDATE
为此特定情况选择模式

patterns.select{|_,v| v.size > 1}.values.flatten