반응형
루비에서 해시 배열을 정렬하는 방법
배열이 있는데 각 요소는 세 개의 키 / 값 쌍이있는 해시입니다.
:phone => "2130001111", :zip => "12345", :city => "sometown"
같은 영역의 zip
모든 phone
s가 함께 있도록 데이터를 정렬하고 싶습니다 . 루비가 쉽게 할 수있는 방법이 있습니까? will_paginate
배열에서 데이터를 페이지 매김 할 수 있습니까 ?
단순 :
array_of_hashes.sort_by { |hsh| hsh[:zip] }
노트 :
사용할 때 sort_by
결과를 새 변수에 할당해야합니다. array_of_hashes = array_of_hashes.sort_by{}
그렇지 않으면 "bang"메소드를 사용하여 해당 위치를 수정할 수 있습니다.array_of_hashes.sort_by!{}
sorted = dataarray.sort {|a,b| a[:zip] <=> b[:zip]}
뱅을 사용하여 배열을 수정하십시오.
array_of_hashes.sort_by!(&:zip)
또는 다시 할당하십시오.
array_of_hashes = array_of_hashes.sort_by(&:zip)
sort_by 메소드는 오름차순으로 정렬됩니다.
내림차순으로 정렬 해야하는 경우 다음과 같이 할 수 있습니다.
array_of_hashes.sort_by!(&:zip).reverse!
또는
array_of_hashes = array_of_hashes.sort_by(&:zip).reverse
배열의 데이터에 페이지를 매기 려면 컨트롤러에 'will_paginate / array' 가 필요 합니다
당신이있는 경우 중첩 된 해시 (여기 날짜) 배열 요소 (다음과 같은 구조)로 (해시 형식 내부 해시)과 키를 정렬하려면
data = [
{
"2018-11-13": {
"avg_score": 4,
"avg_duration": 29.24
}
},
{
"2017-03-13": {
"avg_score": 4,
"avg_duration": 40.24
}
},
{
"2018-03-13": {
"avg_score": 4,
"avg_duration": 39.24
}
}
]
Array 'sort_by'메소드를 다음과 같이 사용하십시오.
data.sort_by { |element| element.keys.first }
참고 URL : https://stackoverflow.com/questions/5483889/how-to-sort-an-array-of-hashes-in-ruby
반응형
'IT story' 카테고리의 다른 글
WPF가 현재 디자인 모드에서 실행 중인지 확인하는 방법이 있습니까? (0) | 2020.06.23 |
---|---|
Guzzlehttp-Guzzle 6에서 응답 본문을 얻는 방법은 무엇입니까? (0) | 2020.06.23 |
파이썬 로깅 : 시간 형식으로 밀리 초 사용 (0) | 2020.06.23 |
안드로이드 화면 키보드 자동 팝업 (0) | 2020.06.23 |
Laravel Eloquent 생성 및 업데이트 (0) | 2020.06.23 |