函数式编程中,多个小函数要操作一个大的对象数据,分别对他做结构调整、数据过滤等操作,怎么避免对象复制
不希望引入immutable库等复制数据等库。又希望在项目中使用函数式编程,怎么解决拆分的小函数中依次复制的情况。
比如有个tableData对象,里面有很多数据,需要先修改它的结构,再过滤它的数据
filterTableData(tableData: object): object
formatTableData(tableData: object): object
....
const resolveTableData = compose(filterTableData, formatTableData, ...)
还有许多类似的操作,如果用函数式,为保证是纯函数,必须在filterTableData和formatTableData中先复制tableData,处理后再返回这个新对象,有办法避免这种过多的复制吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
实用
.map
.filter
这种没有副作用的方法就可以不用手动复制了我使用的是浅复制。如果层级很深,直接把参数克隆就可以了