JavaScript Array sort()
- Trang trước some()
- Trang tiếp theo splice()
- Quay lại lớp trên Hướng dẫn tham khảo JavaScript Array
Đị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();
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});
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});
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
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
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)
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();
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ụ:
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
- Trang trước some()
- Trang tiếp theo splice()
- Quay lại lớp trên Hướng dẫn tham khảo JavaScript Array