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;// 변수에 담긴 데이터를 리턴한다. }
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를 리턴 } }); }