JavaScript Array sort ()
Các ví dụ
Sắp xếp mảng:
const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
Sắp xếp và sau đó đảo ngược thứ tự:
const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
fruits.reverse();
Định nghĩa và Cách sử dụng
Sắp sort()
xếp các phần tử của một mảng.
Việc sort()
ghi đè lên mảng ban đầu.
Sắp sort()
xếp các phần tử dưới dạng chuỗi theo thứ tự bảng chữ cái và tăng dần.
Xem thêm:
Chức năng So sánh Sắp xếp
Sắp xếp theo thứ tự bảng chữ cái hoạt động tốt cho các chuỗi ("Apple" đứng trước "Banana").
Tuy nhiên, việc sắp xếp các số có thể tạo ra kết quả không chính xác.
"25" lớn hơn "100", vì "2" lớn hơn "1".
Bạn có thể sửa lỗi này bằng cách cung cấp một "chức năng so sánh" (Xem ví dụ bên dưới).
Cú pháp
array.sort(compareFunction)
Thông số
Parameter | Description |
compareFunction |
Optional. A function that defines a sort order. The function should return a negative, zero, or positive value, depending on the arguments:
When sort() compares two values, it sends the values to the compare function, and sorts the values according to the returned (negative, zero, positive) value. Example: The sort function will sort 40 as a value lower than 100. When comparing 40 and 100, sort() calls the function(40,100). The function calculates 40-100, and returns -60 (a negative value). |
Giá trị trả lại
Mảng với các mục đã được sắp xếp. |
Các ví dụ khác
Sắp xếp các số theo thứ tự tăng dần:
const points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});
Sắp xếp các số theo thứ tự giảm dần:
const points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});
Tìm giá trị thấp nhất:
const points = [40, 100, 1, 5, 25, 10];
// Sort the numbers in ascending order
points.sort(function(a, b){return a-b});
let lowest = points[0];
Tìm giá trị cao nhất:
const points = [40, 100, 1, 5, 25, 10];
// Sort the numbers in descending order:
points.sort(function(a, b){return b-a});
let lowest = points[0];
Tìm giá trị cao nhất:
const points = [40, 100, 1, 5, 25, 10];
// Sort the numbers in ascending order:
points.sort(function(a, b){return a-b});
let highest = points[points.length-1];
Hỗ trợ trình duyệt
sort()
là một tính năng ECMAScript1 (ES1).
ES1 (JavaScript 1997) được hỗ trợ đầy đủ trong tất cả các trình duyệt:
Chrome | IE | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes | Yes |