在前端开发中,经常需要对包含多个对象的数组进行排序。本文将介绍一个简单的函数来实现这个功能。
排序方式
在 JavaScript 中,可以使用 sort()
方法来对数组进行排序。该方法接受一个用于元素比较的函数作为参数。该函数应当返回一个数字,表示两个元素的相对顺序。
例如,以下代码将一个包含数字的数组按从小到大的顺序排序:
----- --- - --- -- -- -- --- ------------ -- -- - - --- ----------------- -- --- -- -- -- --
对象属性排序
如果要对包含对象的数组进行排序,通常需要指定某个属性作为排序依据。我们可以编写一个比较函数来实现这一点。
假设我们有一个包含人员信息的数组:
----- ------ - - - ----- -------- ---- -- -- - ----- ------ ---- -- -- - ----- ---------- ---- -- - --
我们可以编写一个比较函数,根据 age
属性进行排序:
-------- --------------------- -- - ------ ----- - ------ - -------------------------------- -------------------- -- - -- - ----- ------ ---- -- -- -- - ----- -------- ---- -- -- -- - ----- ---------- ---- -- - -- -
更复杂的排序
如果需要按照多个属性进行排序,该怎么办?我们可以编写一个更复杂的比较函数。
假设我们有一个包含学生成绩信息的数组:
----- -------- - - - ----- -------- ----- --- -------- -- -- - ----- ------ ----- --- -------- -- -- - ----- ---------- ----- --- -------- -- - --
我们可以编写一个比较函数,先根据 math
属性进行排序,如果 math
相同,则再根据 english
属性进行排序:
-------- ------------------------- -- - -- ------- --- ------- - ------ ------ - ------- - ---- - ------ --------- - ---------- - - -------------------------------------- ---------------------- -- - -- - ----- ---------- ----- --- -------- -- -- -- - ----- -------- ----- --- -------- -- -- -- - ----- ------ ----- --- -------- -- - -- -
示例代码
以下是一个包含以上示例代码的完整程序:
----- ------ - - - ----- -------- ---- -- -- - ----- ------ ---- -- -- - ----- ---------- ---- -- - -- -------- --------------------- -- - ------ ----- - ------ - -------------------------------- -------------------- ----- -------- - - - ----- -------- ----- --- -------- -- -- - ----- ------ ----- --- -------- -- -- - ----- ---------- ----- --- -------- -- - -- -------- ------------------------- -- - -- ------- --- ------- - ------ ------ - ------- - ---- - ------ --------- - ---------- - - -------------------------------------- ----------------------
以上就是本文所介绍的用于排序对象数组的简单函数。希望能对您有所帮助!
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/29793