코플릿 문제를 다시한번 풀어보면서 어려운 문제와 배운 것들을 정리해보았다.
이 문제를 풀기위해선 rest parameter 에 대해 공부해야 했다..
function example(a, b, ...rest){
console.log(a, b); // 1 2
console.log(rest); // [3, 4, 5]
}
example(1, 2, 3, 4, 5);
예시를 보면 인자에 1~5까지의 수를 넣어서 함수를 호출하는데 a와 b는 순서대로 1,2를 받고 남은 인자는 ...rest가 받아와서 [3, 4, 5] 같이 배열의 형태로 나타낸다.
이 문제는 함수들을 입력받는 문제인데 입력되는 함수의 개수를 모르기 때문에 ...funcs 를 사용한다.
알게 된 것 :
배열 내장 메서드
map
배열의 각 요소에 콜백함수를 적용시긴 요소를 모은 새로운 배열을 리턴한다.
Filter
배열의 각 요소에 콜백함수를 적용 시켰을 때, true를 리턴하는 요소들만 모은 새로운 배열을 리턴한다.
Reduce (acc, cur)
배열의 각 요소를 콜백 함수에 맞게 하나로 응축시킨 값을 리턴
초기값이 있을 때 / 없을 때를 구분하여 알아야함.
있을 때 = acc에 초기 값이 들어가고 cur에 0번째 인덱스 값
없을 때 = acc에 0번째 인덱스 값, cur에 1번째 인덱스 값
느낀점!
이번 코플릿을 풀면서 삼항 연산자, 화살표 함수를 이용하여 코드를 리팩토링 하는데에 어느정도 익숙해졌으나 복잡한 문제에는 바로 사용하기는 힘들었다.
수도코드를 작성 -> 작성한 수도코드대로 코딩 -> 리팩토링 과정으로 코플릿 문제를 다시한번 풀어봐야겠다.