의 배열에서 고유 한 특성을 수집 :보다 효율적인 방법은 데이터 구조를 주어진 배열
users.map do |uid, attributes|
attributes[:country_code]
end.uniq
:
[
[
"1",
{
:user_uid=>"1",
:display_name=>"joe",
:country_code=>"ITA",
# more attributes
}
],
# more users
]
나는이 같은 모든 country_code
속성의 고유 목록을 얻을 수 있습니다 하지만 매우 큰 데이터 세트를 가지고 있다면, 모든 사용자를 통해 여전히 반복됩니다 (물론 Ajedi32가 지적했듯이 물론 그렇습니다).
이 데이터를 수집하는 효율적인 방법이 있습니까?
당신이 블록'uniq'를 사용할 수 있지만, 아마 당신은 이미 O (n)이 – ave
의 것을 얻을 수있는 최선의 방법 당신은 말했다 "이 여전히 루프 모든 사용자를 통해 "반복하여 모든 사용자를 반복하지 않고이를 수행 할 수있는 방법이 있다고 생각한다는 의미입니다. 특정 사용자가 새롭고 고유 한 국가 코드를 포함 할 수 있다고 가정 할 때 모든 사용자의 국가 코드를 확인하지 않고이를 수행 할 수 있다고 생각합니까? – Ajedi32
사실입니다. 감사합니다. 저의 잘못된 이해를 제쳐두고이 데이터를 수집하는보다 효율적인 방법을 찾고 싶습니다. – dax