ES6+ Basic4
인프런 함수형 프로그래밍과 JavaScript ES6+ / 유인동
결과를 만드는 함수 reduce, take
실제로 연산을 시작하는 시작점을 알리는 함수
reduce
L.entries = fuction *(obj) {
for (const k in obj) yield [k, obj[k]];
};
// Array.prototype.join보다 다형성이 높은 join함수
const join = curry((sep = ',', iter) =>
reduce((a, b) => '${a}${sep}${b}', iter));
// const queryStr = obj => go(
// obj,
const queryStr = pipe(
L.entries,
L.map(([k, v])=> '${k}=${v}'),
join('&');
// Object.entries,
// map(([k, v])=> '${k}=${v}'),
// reduce((a, b) => '${a}&${b}')
);
log(queryStr({ limit: 10, offset:10, type:'notice'}));take, find
find는 take를 통해 결론(결과)을 지어서 만들 수 있음
L.map + take로 map 만들기
L.filter + take로 filter 만들기
L.flatten
1차원 배열로 만들어주는 제너레이터를 반환하는 함수
L.flatMap
2차원 배열 다루기
지연성 / 이터러블 중심 프로그래밍 실무적인 코드 예제
Last updated