findByLibrary
특정 도서관에 근무하는 사서를 검색하는 함수를 만들고 싶다.
사서가 둘 이상인 곳은 없다고 가정하고, 1명만 찾을 수 있게 한다.
find() + 커링
find는 주어진 판별 함수를 만족하는 첫 번째 요소의 값을 반환한다
find 문법
const found = array.find(element => element > 10);
이러한 find를 아래처럼 커링과 결합할 수 있다.
findByLibrary 구현
const instructors = [
{
name: '가나',
libraries: ['A 도서관'],
},
{
name: '다라',
libraries: ['B 도서관', 'C 도서관'],
},
];
const findByLibrary = library => instructor => {
return instructor.libraries.includes(library);
};
const librarian = instructors.find(findByLibrary('A 도서관'));
느낀 점
find와 커링을 결합할 수 있다는 점이 유용했고,
책의 커링 예제에서는 두번째 파라미터를 생략 했는데
두번째 파라미터를 써주는 게 좀 더 이해하기 쉬울 것 같다.
const librarian = instructors.find((intructor => findByLibrary('A 도서관')(instructor));
자바스크립트 코딩의 기술 (길벗, 2019)을 학습하고 개인 학습용으로 정리한 내용입니다.
'독서 > 자바스크립트 코딩의 기술' 카테고리의 다른 글
[자바스크립트] Object.entries()로 객체 순회하기 (0) | 2022.12.28 |
---|---|
[자바스크립트] reduce로 api 배열 데이터 변환하기 (0) | 2022.12.28 |
[자바스크립트] 메서드 체이닝으로 active user에게만 이메일 보내기 (0) | 2022.12.28 |
[자바스크립트] 펼침 연산자 + slice 로 새로운 배열 만들기 (removeItem) (0) | 2022.12.27 |
댓글