홈>
모든 사람들로부터 총 수의 피니시와 실패한 레이스를 원합니다. 아래 코드는 작동하지만 잘 생각하지 않습니다. 더 좋은 엘릭서 방법이 있습니까?
person_races = %{
"joy" => %{ "medals" => [%{ "race" => "finished"}, %{"race" =>
"finished"}, %{"race" => "failed"}]},
"jan" => %{ "medals" => [%{ "race" => "finished"}, %{"race" =>
"finished"}, %{"race" => "failed"}]},
"jim" => %{ "medals" => [%{ "race" => "finished"}, %{"race" =>
"finished"}, %{"race" => "failed"}]},
}
answer = Enum.reduce(person_races, [], fn({_k,v}, acc) ->
acc ++ [v]
end)
|> Enum.reduce([], fn(x, acc) ->
acc ++ x["medals"]
end)
|> Enum.reduce(%{}, fn(k, acc) ->
cond do
k["race"] == "failed" ->
Map.update(acc, :failed, 1, &(&1 + 1))
k["race"] == "finished" ->
Map.update(acc, :finished, 1, &(&1 + 1))
end
end)
IO.inspect answer #=> %{failed: 3, finished: 6}
- 답변 # 1
관련 자료
- drupal - 이름 목록에서 더 나은 반복을 위해 모든 노드 제목을 나열하십시오
- javascript - nodejs - 중첩 된 개체를 반복하는 더 좋은 방법은 무엇입니까?
- php - 이 인서트를 주입 및 조작으로부터 더 안전하고 안전하게 만드는 더 좋은 방법은 무엇입니까?
- Elixir에서 중첩 for 루프를 작성하는 더 좋은 방법
- cluster analysis - 이 경우 더 좋은 점은 분류 또는 클러스터링입니까?
- python - 동일한 루프를 반복하는 것보다 값을 검색하는 더 좋은 방법이 있습니까?
- loops - 엘릭서, 중첩 된 맵을 반복
- php - Laravel 57에서 session () 또는 collect () 도우미 함수를 더 잘 사용해야합니까?
- python - 목록 목록을 반복하는 더 좋은 방법이 있습니까?
- mysql - 데이터베이스, 레이크 작업 또는 SQL을 정리하는 더 좋은 방법은 무엇입니까?
- python - XML을 반복/데이터를 얻는 더 좋은 방법은?
- cursor - 수백만 행을 반복하는 SQL Server 더 나은 방법
- date - R을 사용하면 여러 일련의 레코드를 가진 각 개인의 레코드 시작 및 종료 날짜를 수집하는 더 좋은 방법이 있습니까?
- javascript - 객체 배열에서 중복을 제거하는 더 좋은 알고리즘은 무엇입니까?
트렌드
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- JavaScript 변수를 HTML div에 '출력'하는 방법
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- javascript - swiperjs에서 정지, 재생 버튼 추가
- python - 화면에서 찾은 요소를 찾을 수없는 경우 셀레늄
이것을 파이프 라인으로 구현할 수 있습니다 :