JS_reduce() 사용하는 10가지 방법
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce
영상요약 https://www.youtube.com/watch?v=NiLUGy1Mh4U
이번주에 lodash 라이브러리를 직접 구현해보는 과제를 하면서
reduce를 징그럽게 많이 만났다.
자바스크립트 reduce 는 그저 알고리즘 풀 때 정렬할 때만 썼는데
엄청나게 유용하게 쓸 수 있는 메소드였다.(이렇게 모르고 안(못) 쓰는 것들이 참 많겠지만)
오늘로 10가지 사용법만(!) 정리하고 당분간 리듀스랑 안녕하고 싶다.🎆
예제로 준 obj)
1.age 전체 합 구하기
result = obj.reduce((acc(합계), person) => 합계 + person.age, 0(시작값));
시작값이 없으면 배열의 첫번째 요소부터 합해지고, iterate은 그 다음부터!
2.전체 이름 다 나열하기 //map처럼 사용하기
result = obj. reduce((acc,person) =>[...acc, person.name],[]);
오우~ 똑똑한데! 시작 모먼트 여기:)
[...acc, person.name] 만으로도 acc+ person을 나타낼 수 있음 굿굿
[]빈배열이 시작값
3.dictionary 형태로 각 값 앞에 숫자 붙여주기 (검색용)
이건 별로 안 쓸 것 같음
4.Max age
5.min age (max 나이에서 부등호만 돌리면 됨)
6.이름(key값 검색) 검색하기!
acc(지금 까지 loop 돌린 값)이 없지 않으면 !==null 그 값 리턴하기
Leigh라는 이름을 찾으면 그사람 정보 리턴해라
이도저도 없으면 null return해라
7. 전체 18세 이상인지 확인하기!(every)
기본값 트루 => 리턴이 안되면 false로 바뀜...! // 첫줄 이해 어려움
18세 이상은 리턴하기
8. 18세 이상인 사람이 한명이라도 있는 지 확인(some)
위의 함수에서 기본값을 false로 바꾸고,
하나라도 만족하면 true 리턴하는 걸로!
리턴할 얘는 18보다 큰 값
기본값은 false(여기서 하나라도 리턴되면 바뀜)
예2)
9. count occurrences
내가 원하는 value 몇 개 있는지 확인하기/filter처럼 사용하기
2번 사용과 비슷한데, (acc[order.status]||0)+1 로 각 status를 누적으로 보여줌
결과값
...😺이렇게나 유용하다고!
예3)
10.flatten
recursion사용
파일 내용을 다 [] 어레이 안에 넣어주기
file이 아이템이 될때까지 재귀로 돌려주기
결과값
지쳤으므로 빠른 마무리.
Author And Source
이 문제에 관하여(JS_reduce() 사용하는 10가지 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ek615/JSreduce-사용하는-10가지-방법저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)