Create hash from array and frequency

前端 未结 8 1684
盖世英雄少女心
盖世英雄少女心 2021-02-05 21:23

I have an array [1,2,4,5,4,7] and I want to find the frequency of each number and store it in a hash. I have this code, but it returns NoMethodError: undefine

8条回答
  •  感动是毒
    2021-02-05 22:07

    Love me some inject:

    results = array.inject(Hash.new(0)) {|hash, arr_element| hash[arr_element] += 1; hash }

    1.9.3p448 :082 > array = [1,2,4,5,4,7]
     => [1, 2, 4, 5, 4, 7] 
    1.9.3p448 :083 > results = array.inject(Hash.new(0)) {|hash, arr_element| hash[arr_element] += 1; hash }
     => {1=>1, 2=>1, 4=>2, 5=>1, 7=>1} 
    

提交回复
热议问题