본문 바로가기

codes/고차 함수14

11_keep function keep(arr, keeper) { //Q. 배열과 임의의 값(keeper)을 입력받아 //기존 배열에서 keeper와 일치하는 요소만을 갖는 새로운 배열을 리턴 //주의! filter() 사용 필수 return arr.filter(function(el){ return el === keeper; }); } //Reference code function keep(arr, keeper) { return arr.filter(function (el) { if (el === keeper) { return true; } return false; }); } 2022. 11. 20.
10_removeElment function removeElement(arr, discarder) { //Q. 배열과 임의의 값(discarder)을 입력 받아 //기존 배열에서 discarder와 일치하는 요소가 제거된 새로운 배열 리턴 //주의! filter() 사용해서 해결하기 function matchFunc(el) { return el !== discarder; } return arr.filter(matchFunc); } //다시 풀어본 코드 function removeElement(arr, discarder) { //Q. 배열과 임의의 값(discarder)을 입력 받아 //기존 배열에서 discarder와 일치하는 요소가 제거된 새로운 배열 리턴 //주의! filter() 사용해서 해결하기 return arr.filte.. 2022. 11. 20.
09_filterCallback function filterCallback(func, arr) { //Q. 함수와 배열을 입력받아 배열의 각 요소에 함수를 적용했을 때 //그 결과가 참인 요소만 갖는 새로운 배열을 리턴 //주의! for문 사용, filter() 금지! let result = []; for(let i = 0; i < arr.length; i++){ if(func(arr[i])){ result.push((arr[i])); } } return result; } //다시 풀어본 코드 function filterCallback(func, arr) { //Q. 함수와 배열을 입력받아 배열의 각 요소에 함수를 적용했을 때 //그 결과가 참인 요소만 갖는 새로운 배열을 리턴 //주의! for문 사용, filter() 금지! let .. 2022. 11. 20.
08_mapCallback function mapCallback(func, arr) { //Q. 함수와 배열을 입력받아 각 요소에 함수가 적용된 새로운 배열 리턴 //주의! for문 사용, map()금지 // reference 방법 // let result = []; // for (let el of arr) { // result.push(func(el)); // } // return result; let result = []; for(let i = 0; i < arr.length; i++){ result = result.concat(func(arr[i])); } return result; } //다시 풀어본 코드 function mapCallback(func, arr) { //Q. 함수와 배열을 입력받아 각 요소에 함수가 적용된 .. 2022. 11. 20.
07_callbackOnly function callbackOnly(callback, response) { //Q. 함수와 객체를 입력받아 조건별로 아래와 같은 동작을 수행 // 1. 객체의 'status' 속성값이 'fail'인 경우, 'Something went wrong!'을 리턴 // 2. 객체의 'status' 속성값이 'success'인 경우, 'data' 속성값에 입력받은 함수를 적용한 결과를 리턴 if (response['status'] === 'success') { return callback(response['data']) } else if (response['status'] === 'fail') { return 'Something went wrong!'; } } //다시 풀어본 코드 function callbac.. 2022. 11. 20.
05_compose2 function compose2(func1, func2) { //Q. 두 개의 함수를 입력받아 두 함수가 결합된 새로운 함수를 리턴 return function (num) { return func1(func2(num)); }; } 2022. 11. 20.