가 주어 동일한 속성을 가지고 배열 개체 집합 찾기 내가 객체 배열을 좀하고 싶습니다 은 내가 두 개의 속성을 가진 배열을 가지고
my_arr = [{n_parents: 10, class: 'right'}, {n_parents: 10, class: 'right'}, {n_parents: 5, class: 'left'}, {n_parents: 2, class: 'center'}, {n_parents: 2, class: 'center'}, {n_parents: 2, class: 'center'}]
그 이 두 속성의 대부분을 공유합니다. 앞의 예에서 그래서 :
result = [{n_parents: 2, class: 'center'}, {n_parents: 2, class: 'center'}, {n_parents: 2, class: 'center'}]
n_parents = 2
및 class = 'center'
를 공유하는 세 개의 개체가 있기 때문에.
지금까지 두 가지 속성을 두 개의 그룹으로 그룹화 할 수 있지만 이후에는 더 많은 요소가있는 세트를 가져 오는 방법을 알 수 없습니다.
는 지금은이 : 이것은 당신을 위해 일한다
my_arr.group_by { |x| [x[:n_parents], x[:class]] }
당신 마일 끝에서 ssed'# last'. 그래서 방법을 생각하지 않고 어떻게 출력을 얻었는지;) –
@ArupRakshit 나는 공간을 추가해야하는 이유를 알아 차 렸습니다. 명쾌함? – engineersmnky
루비 애호가가 그렇게 쓰는 것처럼. [here] (http://ruby-doc.org/core-2.1.0/Enumerable.html#method-i-group_by)를 참조하십시오 .. –