Javascript sort 函数 - 先按第一关键字排序,再按第二关键字排序

阅读时长 3 分钟读完

Javascript 中的 sort 函数是一个非常实用的函数,它可以对数组进行排序。sort 函数的默认排序方式只能根据一个关键字来排序,如果需要多个关键字一起排序该如何实现呢?本文将详细介绍如何使用 sort 函数先按照第一关键字排序,再按照第二关键字排序。

排序规则

在介绍代码实现之前,我们需要先明确一下排序规则。假设我们有一个数组 arr,我们需要先按照元素的第一个属性 a 进行升序排序,如果两个元素的 a 相等,则再按照第二个属性 b 进行升序排序。这样的排序规则可以表示为:

其中箭头函数中的比较逻辑就是我们需要重点理解的部分。

实现方法

了解了排序规则之后,我们就可以开始讲解具体的实现方法了。实现方法分为两种:一种是使用传统的比较函数,另一种是使用 ES6 的 Arrow Function。

传统比较函数

使用传统的比较函数实现多关键字排序其实很简单,我们只需要像上面的代码一样,将比较逻辑写在 sort 函数的参数中即可。下面是一个示例代码:

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

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

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

Arrow Function

ES6 的 Arrow Function 可以更简洁地实现多关键字排序。我们可以使用 ES6 的解构语法来获取需要排序的属性,然后在箭头函数中直接进行比较。下面是一个示例代码:

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

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

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

指导意义

Javascript 中的 sort 函数在实际开发中是非常实用的。掌握多关键字排序可以帮助我们更好地完成开发任务。另外,本文还介绍了两种实现方法,让读者可以根据自己的喜好选择合适的方式进行排序。

结论

本文介绍了 Javascript sort 函数如何实现先按第一关键字排序,再按第二关键字排序。我们可以使用传统的比较函数或者 ES6 的 Arrow Function 来实现多关键字排序。掌握这些知识可以帮助我们更好地完成开发任务。

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

纠错
反馈