Array.sort()
是 JavaScript 數組對象的方法,用於對數組中的元素進行排序。它可以根據默認的排序規則或自定義排序函數來排序數組的元素。 Array.sort()
在原地排序數組,也就是說它會直接修改原始數組,而不會創建新的數組。
compareFunction 比較函式
(可選):是一個可選的函數,用於指定排序的規則。如果省略此參數,Array.sort()
將默認使用字符串排序規則,即按照字符的 Unicode 順序對元素進行排序。比較函數是一個函數,接受兩個參數(通常命名為 a
和 b
),並返回一個數字,該數字決定了這兩個參數的相對順序。
以下是關於比較函數的重要概念:
返回值規則:比較函數必須返回一個數字,該數字可正可負可零,具體表示如下:
a
應該在 b
之前,即 a
排在 b
的前面。a
和 b
位置相對不變,它們相等。b
應該在 a
之前,即 b
排在 a
的前面。排序用途:比較函數通常與數組的 .sort()
方法一起使用,用於確定數組中元素的排序順序。 .sort()
方法會調用比較函數來決定元素的相對位置。
升序排序:要實現升序排序,比較函數應返回 a - b
,其中 a
和 b
是要比較的元素。如果a
大於b
,則返回正數,a
排在b
的後面;如果a
小於b
,則返回負數,a
排在b
的前面;如果它們相等,返回零。
降序排序:要實現降序排序,比較函數應返回 b - a
,這與升序排序相反。這將導致 b
大於 a
時返回正數,b
排在 a
的前面,從而實現降序排序。
自定義排序規則:比較函數允許您自定義排序規則,不僅限於數字,也可以用於字符串、日期等各種數據類型的排序。