https://dev-scratch.tistory.com/151 [JavaScript] go, pipe로 읽기 좋은 코드 만들기 기존 함수의 문제 https://dev-scratch.tistory.com/150 [JavaScript] Map + Filter + Reduce 중첩 사용과 함수형 사고 Map, Filter, Reduce 중첩하여 사용 map, filter, reduce 함수를 커스텀으로 생성하고, 이를 중첩하여 사용 dev-scratch.tistory.com 이제 위 게시물의 가장 상단 복잡했던 코드들을 아래와 같이 작성할 수 있다. 먼저 원본 코드는 아래와 같다. const filter = (f, iter) => { const res = []; for (const a of iter) { i..
인프런
기존 함수의 문제 https://dev-scratch.tistory.com/150 [JavaScript] Map + Filter + Reduce 중첩 사용과 함수형 사고 Map, Filter, Reduce 중첩하여 사용 map, filter, reduce 함수를 커스텀으로 생성하고, 이를 중첩하여 사용해봄으로써 함수형 사고에 대해 배우고자 한다. 각각의 함수는 아래와 같이 작성할 수 있다. const m dev-scratch.tistory.com 앞선 게시물에서 여러 개의 함수를 중첩하여 사용하다보니까 코드는 간결하지만 가독성이 그리 좋지 않았다. 그렇기에 이를 보완할 필요가 있어 보인다. const filter = (f, iter) => { const res = []; for (const a of it..
Map, Filter, Reduce 중첩하여 사용 map, filter, reduce 함수를 커스텀으로 생성하고, 이를 중첩하여 사용해봄으로써 함수형 사고에 대해 배우고자 한다. 각각의 함수는 아래와 같이 작성할 수 있다. const map = (f, iter) => { const res = []; for (const a of iter) { res.push(f(a)) } return res; }; const filter = (f, iter) => { const res = []; for (const a of iter) { if (f(a)) res.push(a); } return res; }; const reduce = (f, acc, iter) => { if (!iter) { iter = acc[Symbo..
앞선 이터러블 프로토콜과 map을 공부하면서 사용자 정의로 이터러블한 객체를 순회하면서 값을 매핑했다. const map = (f, iter) => { const res = []; for (const p of iter) { res.push(f(p)); } return res; }; let m = new Map(); m.set('a', 10); m.set('b', 20); const it = m[Symbol.iterator](); it.next(); it.next(); it.next(); map(([k, a]) => [k, a * 2], m); 이터러블을 따르는 객체는 임의로 만든 map 함수에 잘 작용하는 이터러블 객체이다. filter 함수 const products = [ { name: '허니버터칩'..