JavaScript Array sort()

Định nghĩa và cách sử dụng

sort() Phương pháp này sẽ sắp xếp các mục trong mảng.

Thứ tự sắp xếp có thể là theo字母 hoặc số, cũng có thể là tăng dần (tăng lên) hoặc giảm dần (giảm xuống).

Mặc định,sort() Phương pháp này sẽ sắp xếp giá trị theo thứ tự字母 và tăng dần như một chuỗi.

Điều này áp dụng cho chuỗi ("Apple" xuất hiện trước "Banana"). Nhưng nếu số được sắp xếp theo chuỗi, thì "25" lớn hơn "100" vì "2" lớn hơn "1".

Vì vậy mà,sort() Phương pháp này sẽ tạo ra kết quả không chính xác khi sắp xếp các số.

Bạn có thể giải quyết vấn đề này bằng cách cung cấp một hàm so sánh (xem thêm "Giá trị tham số" dưới đây).

Ghi chú:sort() Phương pháp này sẽ thay đổi mảng ban đầu.

Mô hình

Ví dụ 1

Sắp xếp mảng:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();

Thử ngay

Ví dụ 2

Sắp xếp theo thứ tự tăng dần các số trong mảng:

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});

Thử ngay

Ví dụ 3

Sắp xếp theo thứ tự giảm dần các số trong mảng:

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});

Thử ngay

Ví dụ 4

Lấy giá trị nhỏ nhất trong mảng:

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});    // Sắp xếp số trong mảng theo thứ tự tăng dần
// Mục đầu tiên (points[0]) bây giờ là giá trị thấp nhất

Thử ngay

Ví dụ 5

Lấy giá trị lớn nhất trong mảng:

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});    // Sắp xếp số trong mảng theo thứ tự giảm dần
// Mục đầu tiên (points[0]) bây giờ là giá trị cao nhất

Thử ngay

Ví dụ 6

Lấy giá trị lớn nhất trong mảng:

const points = [40, 100, 1, 5, 25, 10];
// Sắp xếp số theo thứ tự tăng dần:
points.sort(function(a, b){return a-b});
// points[points.length-1] = 100 (giá trị cao nhất)

Thử ngay

Ví dụ 7

Sắp xếp mảng theo thứ tự alphabet và sau đó đảo ngược thứ tự sắp xếp (giảm dần):

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
fruits.reverse();

Thử ngay

Cú pháp

mảng.sort(compareFunction)

Giá trị tham số

Tham số Mô tả
compareFunction

Tùy chọn. Định nghĩa hàm thay thế thứ tự sắp xếp. Hàm này nên trả về giá trị âm, bằng hoặc dương, tùy thuộc vào tham số, ví dụ:

  • function(a, b){return a-b}

Khi phương thức sort() so sánh hai giá trị, nó sẽ gửi giá trị đó đến hàm so sánh và sắp xếp giá trị dựa trên giá trị trả về (âm, bằng, dương) của hàm.

Ví dụ:

Khi so sánh 40 và 100, phương thức sort() gọi hàm so sánh (40, 100).

Hàm này tính toán 40-100 và trả về -60 (giá trị âm).

Hàm sort() sẽ sắp xếp 40 thành các giá trị nhỏ hơn 100.

Chi tiết kỹ thuật

Giá trị trả về: Mảng đối tượng, trong đó các mục đã được sắp xếp.
Phiên bản JavaScript: ECMAScript 1

Hỗ trợ trình duyệt

Tất cả các trình duyệt đều hỗ trợ hoàn toàn sort() Cách:

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ

Trang liên quan

Giáo trình:JavaScript Mảng

Giáo trình:JavaScript mảng Const

Giáo trình:Phương thức mảng JavaScript

Giáo trình:Sắp xếp mảng JavaScript

Giáo trình:Thực hiện lặp lại mảng JavaScript

Hướng dẫn:Phương thức reverse() của JavaScript Array