npm 包 @mware/updeep 使用教程

阅读时长 7 分钟读完

在现代前端开发中,我们经常需要在不修改原始数据的情况下对其进行更新或变换。这也是函数式编程思想在前端领域应用的一种体现。@mware/updeep 就是一个非常好用的函数式工具库,它提供了很多便捷的 API,方便我们对数据进行更新和变换。

安装

我们可以通过 npm 仓库来进行安装:

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

纠错
反馈