JavaScript 함수형 프로그래밍 - L.flatMap, flatMap


JavaScript 함수형 프로그래밍 - L.flatMap, flatMap

flatMap map과 flatten을 동시에 진행하는 함수 flatMap이 있는 이유는 JavaScript가 기본적으로 지연적으로 동작하지 않기 때문이다. 내장 flatMap과 flatten + map의 시간 복잡도는 같다. 내장 flatMap const arr = [[1,2],[3,4],[5,6,7]]; console.log(arr.flatMap(a => a)); // [1,2,3,4,5,6,7] console.log(arr.flatMap(a => a.map(a => a * a))) // [1,4,9,16,25,36,49] flatten + map const arr = [[1,2],[3,4],[5,6,7]]; console.log(flatten(arr.map(a => a.map(a => a*a)))); 지연적으로 동작하는 L.flatMap 다형성이 높은 이터러블을 활용한 flatMap L.flatMap = curry(pipe(L.map, L.flatten)); const flat...


#flatmap #JavaScript #자바스크립트 #함수형프로그래밍

원문링크 : JavaScript 함수형 프로그래밍 - L.flatMap, flatMap