rtg=[{:id=>7, :position_id=>3, :valid_from=>Tue, 05 Sep 2017 10:00:00 EEST +03:00, :valid_to=>Tue, 05 Sep 2017 10:59:59 EEST +03:00},
{:id=>6, :position_id=>3, :valid_from=>Mon, 04 Sep 2017 22:00:00 EEST +03:00, :valid_to=>Mon, 04 Sep 2017 23:59:59 EEST +03:00},
{:id=>1, :position_id=>2, :valid_from=>Mon, 04 Sep 2017 07:00:00 EEST +03:00, :valid_to=>Mon, 04 Sep 2017 08:00:00 EEST +03:00}]
inv=[{:id=>23, :position_id=>3, :date=>Tue, 05 Sep 2017 10:10:00 EEST +03:00},
{:id=>17, :position_id=>3, :date=>Mon, 04 Sep 2017 22:45:00 EEST +03:00},
{:id=>11, :position_id=>3, :date=>Mon, 04 Sep 2017 07:20:00 EEST +03:00}]
1) position_id
일치와 inv
에서
2) date
내가 어떻게해야합니까 rtg
에서 valid_from
& valid_to
의 분노에 rtg
에서 id
쌍 및 inv
해시와 배열의 배열을 만들려면 이거, 제발? 그 결과 위의 내 예제에서
은 다음과 같습니다 result = [[7,23],[6,17]]
감사합니다. 필자는 @imim Gupta가'find_by' 대신에'find' 메소드에 대한 응답을 수정했습니다 + 당신이하는 것처럼'inventory [: position_id]'등을해야했습니다. 반복 할 항목이 수천 가지가 될 경우 코드에서 성능이 향상 될 수 있다고 생각하십니까? – matiss
@matiss'rtg '의 각 항목을'inv' (즉 _O (n^2) _)와 비교할 필요가 있기 때문에, 성능이 ** ** ** 감소합니다 (즉, 실행하는 데 더 많은 시간이 걸립니다). 배열이 커집니다. – Gerry
물론, 배열이 커지면 반복 수행이 줄어 듭니다. 'each_with_object' 메소드에 대해 더 생각하고있었습니다. 어쨌든 코드가 잘 작동합니다. 감사합니다! – matiss