07-PointFree编程风格

本文介绍了PointFree编程风格,它允许我们将数据处理过程定义为独立于具体数据的合成运算。通过组合简单的函数,我们可以创建复杂的操作,而无需显式提及处理的数据。示例中展示了如何使用lodash/fp库实现将字符串转换为小写并用下划线连接,以及提取字符串首字母并转大写用点号分隔的功能。这种方法提高了代码的可读性和复用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • PointFree:我们可以把数据处理的过程定义成与数据无关的合成运算,不需要用到代表数据的那个参数,只要把简单的运算步骤合成到一起,在使用这种模式之前我们需要定义一些辅助的基本运算函数
    • 不需要指明处理的数据
    • 只需要合成运算过程
    • 需要定义一些辅助的基本运算函数
const f = fp.flowRight(fp.join('-'), fp.map(_.toLower), fp.split(' '))

案例演示

// PointFree
// Hello World => hello_world
const fp = require('lodash/fp')

const f = fp.flowRight(fp.replace(/\s+/g, '_'), fp.toLower)

console.log(f('Hello    World'));
// 把一个字符串中的首字母提取并转换成大写,  使用.作为分隔符
// world wild web  ==> W.W.W


// 把一个字符串中的首字母提取并转换成大写,  使用.作为分隔符
// world wild web  ==> W.W.W

// const firstLetterToUpper = fp.flowRight(fp.join('. '), fp.map(fp.first), fp.map(fp.toUpper), fp.split(' '))

// 改造
const firstLetterToUpper = fp.flowRight(fp.join('. '), fp.map(fp.flowRight(fp.first, fp.toUpper)), fp.split(' '))
console.log(firstLetterToUpper('world wild web')); // 'W', 'W', 'W'     W. W. W


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值