함수형 프로그래밍에 대한 아주 간단한 소개
4023 단어 functionaljavascriptlodash
const _ = require('lodash/fp')
const lines = [
{
name: "We're the eggmen",
order: 2,
},
{
name: "I'm the eggman",
order: 1
},
{
name: "I'm the walrus",
order: 3
}
]
function main(lines) {
// generateSelectObject :: Object -> Object
const generateSelectObject = ({ name, order }) => ({
value: `${name}_${order},
label: name,
})
const sortAndMapLines = _.compose(
_.map(generateSelectObject),
_.sortBy(['order'])
)
const orderedLines = sortAndMapLines(lines)
orderedLines.unshift({
label: 'All lines',
value: 'All lines'
})
return orderedLines
}
const res = main(lines)
console.log(res)
이 지루한 코드에서 가장 흥미로운 부분은 다음과 같습니다.
const sortAndMapLines = _.compose(
_.map(generateSelectObject),
_.sortBy(['order'])
)
이것이 FP의 전부입니다. 무언가를 달성하기 위해 필요한 단계를 정의합니다. 이 경우에는
lines
의 결과를 정렬하고 매핑합니다. Lodash에서 sort
와 map
라는 두 개의 함수를 작성하고 있으며 두 함수 모두 작업할 데이터를 명시적으로 선언하지 않기 때문에 포인트 프리입니다.이 횡설수설이 도움이 되기를 바라며 작업을 수행하고 코드의 전반적인 품질을 향상시키는 더 나은 방법을 찾고자 하는 욕구를 불러일으킬 것입니다. 시작하기에 아주 좋은 곳은 Prof. Frisby'sMostly Adequate Guide to Functional Programming로 제가 매우 추천합니다.
Reference
이 문제에 관하여(함수형 프로그래밍에 대한 아주 간단한 소개), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sigfriedcub1990/a-very-simple-introduction-to-functional-programming-1fp4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)