不希望引入immutable库等复制数据等库。又希望在项目中使用函数式编程,怎么解决拆分的小函数中依次复制的情况。
比如有个tableData对象,里面有很多数据,需要先修改它的结构,再过滤它的数据
filterTableData(tableData: object): object
formatTableData(tableData: object): object
....
const resolveTableData = compose(filterTableData, formatTableData, ...)
还有许多类似的操作,如果用函数式,为保证是纯函数,必须在filterTableData和formatTableData中先复制tableData,处理后再返回这个新对象,有办法避免这种过多的复制吗?
实用
.map
.filter
这种没有副作用的方法就可以不用手动复制了