var compose = function(functions) {
return function(x) {
return functions.reverse().reduce((acc, cur) => cur(acc), x)
}
};
함수 합성에 관한 문제이다. 여러 함수를 요소로 갖고 있는 배열이 주어진다. 그 때 어떤 한
input
이 주어지면 뒤에서부터 함수를 실행시켜 실행결과를 앞의 함수에input
으로 집어넣는 방식으로해서 최종적인output
를 출력하는 함수를 리턴하는 문제이다.
일단 뒤에서부터 함수를 실행시켜야 하기때문에 reverse 메소드를 사용했다.
그리고 reduce 메소드를 이용해서 초기값을x
로 설정하고 함수실행결과를 누적값으로 넘겨주면된다.