TIL

zumwhol·2021년 4월 4일
0

✍🏻 고차 함수

  • 고차 함수는 인자로 전달 가능하다.
  • 고차 함수는 함수의 결과로 리턴 받을 수 있다.
  • 고차 함수와 콜백 함수는 각각 다르다.
    ex)
    고차 함수 : 함수를 인자로 받거나 함수를 리턴하는 함수
    콜백 함수 : 함수의 인자로 전달되는 함수

고차 함수예시)

  • 두 함수를 인자로 받아 결합된 새로운 함수를 리턴. func2, func1 차례로 적용한다.

function sum(func1,func2){ // 인자로 함수 2개를 받는다.
const sumFn = function(num){ //num을 인자로 받는 익명 함수 실행
const resultFn2 = func2(num); // resultFn2에 인자 num이 들어간 값을 담는다.
const resultFn1 = func1(resultFn2); // resultFn1에 resultFn2의 리턴 값을 받아 실행된 값을 담는다.
return resultFn1; //모두 실행된 값을 sunFn에 리턴한다.
}
return sumFn;// 변수에 담긴 데이터를 리턴한다.
}


  • 문자열을 요소로 갖는 배열을 입력받아 길이가 10이상, 홀수인 요소만을 갖는 배열을 리턴

function words(words){ // 문자열 요소를 갖는 배열 인자
const result = words.filter(function(word){ // result에 filter 함수를 호출
return word.length >= 10 && word.length % 2 !== 0 // 조건에 맞게 필터링한 값 리턴
})
return result;// 필터링 된 값을 담은 변수 리턴
}


  • 숫자를 요소로 갖는 배열을 입력받아 가장 작은 수를 구하세요.

function sum(arr){ // 숫자를 요소로 갖는 배열
return arr.redece(function(acc,cur){ // 초기누적값은 arr의 첫번째 요소, 현재비교값은 2번째 요소
if(acc < cur){ // 누적값과 현재값을 비교
return acc; // 누적값이 작으면 acc를 리턴
}else{
return cur; // 누적값이 더 크면 cur를 리턴
}
});
}

관심 있을 만한 포스트

0개의 댓글