在现代前端开发中,我们经常需要在不修改原始数据的情况下对其进行更新或变换。这也是函数式编程思想在前端领域应用的一种体现。@mware/updeep 就是一个非常好用的函数式工具库,它提供了很多便捷的 API,方便我们对数据进行更新和变换。
安装
我们可以通过 npm 仓库来进行安装:
npm install @mware/updeep --save
API
updeep(path, updater, object)
这是最基本的 API,用于更新给定对象中的指定数据。
其中,path 表示指定数据的访问路径;updater 表示数据更新函数;object 表示对象本身。
-- -------------------- ---- ------- ------ - ---- ---------------- ----- ------ - - ----- - ------ ------- ----- ----- -- ---- -- -- ----- ------------- - -------- ------ -------- -------- --------------------------- -- ------- -- - -- ----- - ------ ------- ----- ----- -- -- ---- -- -- -
updateIn(path, updater, object)
这个 API 跟 updeep 很类似,但它更加灵活,可以用于更新多个嵌套数据。
-- -------------------- ---- ------- ----- ------ - - ----- - ------ ------- ----- ----- -- ---- -- -- ----- ------------- - ------------------- -------- ---- -- ------ -------- --------------------------- -- ------- -- - -- ----- - ------ ------- ----- ----- -- -- ---- -- -- -
mergeIn(path, object, base)
这个 API 用于合并给定对象中的指定数据。
-- -------------------- ---- ------- ----- ------ - - ----- - ------ ------- ----- ----- -- ---- -- -- ----- ------------ - ------------------- -------- --------- -------- -------------------------- -- ------- -- - -- ----- - ------ ------- ------- -------- ----- ----- -- -- ---- -- -- -
adjust(path, updater, object)
这个 API 用于对指定数据进行更新操作,更新函数通过第一个参数接收原始值,返回更新后的值。
-- -------------------- ---- ------- ----- ------ - - ----- - ------ ------- ----- ----- -- ---- -- -- ----- -------------- - --------------- --- -- --- - -- -------- ---------------------------- -- ------- -- - -- ----- - ------ ------- ----- ----- -- -- ---- -- -- -
map(update, object)
这个 API 用于对数组类型的数据进行批量更新操作。
-- -------------------- ---- ------- ----- ------ - - ------ ------- ---- ---- ------ ------- ---- ---- -- ----- ------------- - ------------- --- -- --- - ---- -------- --------------------------- -- ------- -- - -- ------ ------- ---- ---- -- ------ ------- ---- ---- -- -
omit(paths, object)
这个 API 用于从对象中删除指定的属性。
-- -------------------- ---- ------- ----- --- - - ----- ------- ---- --- -------- - ----- ---- ------ ------ ----- -------- ------- - -- ----- ---------- - ------------------- ----- ------------------------ -- ------- -- - -- ----- ------- -- ---- -- -- -
pick(paths, object)
这个 API 用于从对象中选取指定的属性。
-- -------------------- ---- ------- ----- --- - - ----- ------- ---- --- -------- - ----- ---- ------ ------ ----- -------- ------- - -- ----- --------- - --------------- ----------- ----- ----------------------- -- ------- -- - -- ----- ------- -- -------- - -- ----- ---- ------ -- ------ ----- -- -------- ------- -- - -- -
总结
@mware/updeep 是一个非常好用的函数式工具库,它可以帮助我们方便地对数据进行更新和变换。在实际项目中,我们可以根据业务需求,灵活使用其中提供的各种 API,从而提高开发效率和代码质量。
示例代码
-- -------------------- ---- ------- ------ - ---- ---------------- ----- ------ - - ----- - ------ ------- ----- ----- -- ---- -- -- ----- ------------- - -------- ------ -------- -------- --------------------------- ----- -------------- - ------------------- -------- ---- -- ------ -------- ---------------------------- ----- ------------ - ------------------- -------- --------- -------- -------------------------- ----- -------------- - --------------- --- -- --- - -- -------- ---------------------------- ----- ------ - - ------ ------- ---- ---- ------ ------- ---- ---- -- ----- ------------- - ------------- --- -- --- - ---- -------- --------------------------- ----- --- - - ----- ------- ---- --- -------- - ----- ---- ------ ------ ----- -------- ------- - -- ----- ---------- - ------------------- ----- ------------------------ ----- --------- - --------------- ----------- ----- -----------------------
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600668efd9381d61a3540d53