고차함수 코드변환
1. 아래 코드를 이해해보자.
const filterMaped = arr.filter(x => x % 2 !== 0).map(x => x * 2);
// filterMaped라는 변수에 arr의 요소 중
//홀수만 모아 그 값에 2를 곱한 값이 할당 되었다.
console.log(filterMaped) // [2, 6, 10]
2. 1번의 코드를 reduce 를 한 번만 사용한 코드로 변형 해보겠다.
let arr = [1,2,3,4,5]
const filterMaped = arr.reduce(function(a,b){
if( b % 2 !== 0 ){ // b값중 홀수만 찾아내어 a 에 push 하였다.
a.push(b * 2)
}
return a
}, 0)