본문 바로가기
독서/자바스크립트 코딩의 기술

[자바스크립트] find()와 커링으로 검색 함수 만들기

by zzocco94 2022. 12. 28.

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)을 학습하고 개인 학습용으로 정리한 내용입니다.

댓글