npm 包 object-only-value 使用教程

阅读时长 4 分钟读完

简介

object-only-value 是一个 npm 包,用于过滤掉对象(obj)下的空值(undefind, null, "", [], {})。这个包特别适合在表单提交等场景下减少不必要的数据传输,同时还可以避免后台操作过程中因为空数据导致的错误。

安装

object-only-value可以通过 npm 安装:

使用方法

object-only-value的使用非常方便,只需要在你的js文件中调用就行了。

1. 引入

在你的 js 文件中,使用 require 方法引入。

2. 使用

使用 objectOnlyValue 函数过滤对象的空值属性。接收一个对象作为参数,返回过滤后的新对象。示例:

-- -------------------- ---- -------
----- --- - -
  ----- -----
  ---- -----
  ------- ---
  ------ --------------
  -------- -
    ----- -----
    --------- ---
    ------- -----
  -
--

----- ------ - ---------------------
--------------------

输出结果:

深入理解

object-only-value 中使用了递归算法来过滤对象,我们可以来看一下这个算法的实现方法。

-- -------------------- ---- -------
-------- -------------------- -
  ----- ------ - ---
  --- ------ --- -- ---- -
    -- --------- --- ---- -- -------- --- --------- -- -------- --- --- -
      ---------
    - ---- -- ------------------------ -- --------------- -- -- -
      ---------
    - ---- -- ----------------------------------------- --- -------- --------- -
      ----------- - --------------------------
    - ---- -
      ----------- - ---------
    -
  -
  ------ -------
-

在这个函数中,我们使用 for...in 循环遍历对象的属性,然后使用 if 判断语句过滤掉符合条件的属性。

其中,首先判断是不是 null、undefined 或者空字符串。如果是,就跳过此次循环。如果属性的值是一个空数组,则我们也将其过滤掉。

如果属性的值是一个对象,则递归执行这个函数,直到所有的非空属性被过滤出来。

最后,我们将过滤处理后的属性逐个加入到一个新的对象中,返回给调用函数。

示例代码

完整的示例代码如下:

-- -------------------- ---- -------
----- --------------- - -----------------------------

----- --- - -
  ----- -----
  ---- -----
  ------- ---
  ------ --------------
  -------- -
    ----- -----
    --------- ---
    ------- -----
  -
--

----- ------ - ---------------------
--------------------

总结

object-only-value 是一个非常实用的 npm 包,可以很好的过滤掉对象下的空值。在开发过程中,我们常常需要处理不必要的数据,这个包可以让我们在提交表单等场景下减少不必要的数据传输。

同时,使用 object-only-value 可以避免后台操作过程中因为空数据导致的错误,提高了开发效率。

在使用过程中,需要注意的是递归算法中的性能问题,特别是当递归层级较深的时候。需要根据实际情况决定是否使用此包,以达到更好的效果。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066f9b3d1de16d83a66e27

纠错
反馈