Lodash 多列 sortBy 降序排序

在实际前端开发中,我们经常需要对数据进行排序。Lodash 是一个流行的 JavaScript 工具库,在其中提供了 sortBy 函数来对数组进行排序。然而,当我们需要根据多个列对数组进行排序时,该函数并不能满足需求。

本文将介绍如何使用 Lodash 实现多列降序排序,包括详细的步骤和示例代码,并希望能给读者带来一些启示和指导。

步骤

  1. 安装 Lodash

    在使用 Lodash 之前,需要先安装它。可以使用 npm 安装,命令为:

    --- ------- ------
  2. 导入 Lodash 模块

    在需要使用 Lodash 的文件中,需要导入相应的模块。在这里,我们需要使用 sortByorderBy 函数,因此需要导入以下两个模块:

    ------ - ------- ------- - ---- ---------
  3. 使用 sortBy 函数实现单列排序

    在开始多列排序之前,我们需要先了解如何使用 sortBy 函数实现单列排序。例如,我们有一个对象数组,每个对象有两个属性 nameage,我们想要按照年龄降序排序,那么代码如下:

    ----- --- - -
      - ----- ------ ---- -- --
      - ----- -------- ---- -- --
      - ----- ------ ---- -- -
    --
    
    ----- --------- - ----------- -----------------
    -----------------------
    -- ------- - - ----- ------ ---- -- -- - ----- ------ ---- -- -- - ----- -------- ---- -- - -
  4. 使用 orderBy 函数实现多列排序

    接下来,我们将使用 orderBy 函数实现多列排序。继续以上面的例子为例,现在我们需要根据年龄和姓名进行降序排序。代码如下:

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

    在上面的代码中,orderBy 函数接收三个参数:

    • 第一个参数是需要排序的数组;
    • 第二个参数是一个数组,包含了需要按照哪些属性进行排序,这里是 ['age', 'name']
    • 第三个参数也是一个数组,包含了对应属性的排序方式,这里是 ['desc', 'desc'] 表示按照降序排序。

示例代码

下面是一个完整的示例代码,其中列出了多列排序的完整过程:

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

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

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

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

总结

Lodash 提供了强大的

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/12414