我有array
sample_array = [10001567, 10001789, 2347800, 10001534, 64786592, 00000355]
output_array = [10001567, 10001789, 10001534]
我需要将所有elements
提取到新的array
中,其中前5个数字在给定的array
中必须相同。如何在ruby
中执行此操作。
答案 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