Computer >> Máy Tính >  >> Lập trình >> Javascript

JavaScript Sắp xếp Mảng:Hướng dẫn Cách thực hiện

Bạn có thể sử dụng phương thức sort () trong JavaScript để sắp xếp một mảng. Phương thức sort () chấp nhận một mảng làm đối số và sắp xếp các giá trị của nó theo thứ tự tăng dần. Mảng được sắp xếp đúng vị trí có nghĩa là mảng ban đầu được sửa đổi. Mảng mới không được tạo.

Bạn có thể quyết định rằng bạn muốn sắp xếp mảng của mình theo một thứ tự cụ thể. Ví dụ:bạn có thể có một danh sách tên mà bạn muốn hiển thị cho người dùng theo thứ tự bảng chữ cái.

Tùy thuộc vào cách bạn muốn sắp xếp các phần tử trong một mảng, có các hàm JavaScript tích hợp có thể trợ giúp. Ví dụ:bạn có thể sử dụng hàm sort () để sắp xếp một mảng theo thứ tự bảng chữ cái, hàm reverse () để sắp xếp một mảng theo thứ tự ngược lại và hàm sort () với một hàm lồng nhau để tạo các sắp xếp tùy chỉnh của riêng bạn.

Trong hướng dẫn này, chúng ta sẽ phân tích cách sử dụng sort () và reverse () để thực hiện một hàm sắp xếp mảng trong JavaScript.

Phương thức sắp xếp () JavaScript

Phương thức sort () trong JavaScript đọc các giá trị trong một mảng và trả về các giá trị đó theo thứ tự tăng dần hoặc giảm dần. Có thể sắp xếp một chuỗi chứa số hoặc chuỗi.

Hãy xem xét cú pháp sau:

const values = [1, 2, 8, 9, 3];
values.sort();

Mã này sắp xếp danh sách "giá trị" của chúng tôi. Danh sách được sắp xếp đúng vị trí có nghĩa là danh sách ban đầu của chúng tôi đã được sửa đổi. sort () không tạo phiên bản mới của danh sách.

Cần lưu ý rằng phương thức sort () sửa đổi mảng ban đầu và thay đổi thứ tự của nó. Nếu chúng ta muốn giữ nguyên mảng ban đầu của mình, chúng ta có thể chạy hàm sort () và lưu trữ giá trị của nó trong một biến mới.

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình đã dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

Nếu bạn gán nội dung của phương thức sort () cho một biến mới, danh sách ban đầu sẽ vẫn bị thay đổi.

Ví dụ về mảng sắp xếp trong JavaScript

Để sắp xếp một mảng trong JavaScript, chúng tôi sử dụng phương thức sort () mặc định được tích hợp sẵn. Ở dạng đơn giản nhất, phương thức sort () sắp xếp một mảng theo thứ tự bảng chữ cái tăng dần. Dưới đây là một ví dụ về phương thức sort () đang hoạt động:

var students = ['Alex', 'Cathy', 'Lincoln', 'Jeff'];
var sorted_students = students.sort();

console.log(sorted_students);

Mã của chúng tôi trả về như sau:

["Alex", "Cathy", "Jeff", "Lincoln"]

Mảng của chúng tôi đã được sắp xếp theo thứ tự tăng dần. Chúng tôi sử dụng phương thức sort () để sắp xếp biến JavaScript của chúng tôi được gọi là “sinh viên”. Sau đó, chúng tôi in giá trị của “sinh viên” vào bảng điều khiển JavaScript.

JavaScript Array sort ():Thứ tự một Mảng số

Chúng ta có thể sử dụng phương thức sort () để sắp xếp các giá trị trong danh sách số theo thứ tự tăng dần.

Giả sử chúng ta có một danh sách các điểm của sinh viên mà chúng ta muốn sắp xếp theo thứ tự tăng dần. Chúng tôi có thể sắp xếp chúng bằng cách sử dụng phương thức sort ():

var grades = [67, 75, 62, 78];
grades.sort();

console.log(grades);

Kết quả từ mã của chúng tôi như sau:

[62, 67, 75, 78]

Mảng của chúng tôi đã được sắp xếp theo thứ tự tăng dần! Khi chương trình của chúng ta bắt đầu thao tác sort (), các phần tử trong mảng của chúng ta được sắp xếp dựa trên giá trị của chúng /.

Vì sort () sắp xếp một danh sách tại chỗ, chúng ta không cần gán kết quả của sort () cho một biến mới. Mã của chúng tôi in ra mảng "điểm" mới được sắp xếp vào bảng điều khiển.

JavaScript Sắp xếp Mảng Đối tượng

Phương thức sort () có thể được sử dụng để sắp xếp một mảng các đối tượng. Ví dụ:chúng tôi có thể có một mảng các đối tượng JSON lưu trữ cả tên và tuổi của học sinh.

Dưới đây là một ví dụ về một hàm sort () sẽ sắp xếp một mảng như vậy theo độ tuổi của sinh viên của chúng tôi:

var students = [
	{ name: "Alex", age: 16 },
{ name: "Cathy", age: 14 },
{ name: "Lincoln", age: 14 },
{ name: "Jeff", age: 15 }
];

var sorted_students = students.sort(function(a, b) {
	return a.age - b.age;
});

console.log(sorted_students);

Mã của chúng tôi trả về như sau:

[
  { "name": "Cathy", "age": 14},
  { "name": "Lincoln", "age": 14},
  { "name": "Jeff", "age": 15},
  { "name": "Alex", "age": 16}
]

Mã của chúng tôi trả về mảng các đối tượng JSON của chúng tôi theo thứ tự lứa tuổi học sinh.

Trên dòng đầu tiên, chúng tôi khai báo biến "sinh viên" của mình với bốn sinh viên. Sau đó, chúng tôi tạo một hàm sắp xếp biến số học sinh của chúng tôi dựa trên giá trị "tuổi" trong mỗi đối tượng JSON bằng cách so sánh độ tuổi. Cuối cùng, chương trình của chúng tôi in ra danh sách sinh viên đã được sắp xếp của chúng tôi.

JavaScript Array sort ():Sắp xếp theo Thứ tự Đảo ngược

Ngoài ra còn có một hàm JavaScript tích hợp cho phép bạn sắp xếp một mảng theo thứ tự ngược lại:reverse ().

Phương thức reverse () đảo ngược một mảng để phần tử đầu tiên trở thành phần tử cuối cùng và phần tử cuối cùng trở thành phần tử đầu tiên. Do đó, mảng này không sắp xếp một mảng theo thứ tự giảm dần trong bảng chữ cái.

Nếu chúng ta sắp xếp danh sách trước bằng phương thức sort (), chúng ta có thể sử dụng reverse () để xem mảng của chúng ta theo thứ tự giảm dần.

Dưới đây là một ví dụ về hàm reverse () đang hoạt động:

var students = ['Alex', 'Cathy', 'Lincoln', 'Jeff'];
var reversed_students = students.reverse();

console.log(reversed_students);

Mã của chúng tôi trả về như sau:

[“Jeff”, “Lincoln”, “Cathy”, “Alex”]

Đầu tiên chúng ta sắp xếp danh sách của mình theo thứ tự tăng dần bằng cách sử dụng sort (). Sau đó, chúng tôi đảo ngược danh sách bằng cách sử dụng reverse (). Danh sách của chúng tôi hiện hiển thị tên của chúng tôi theo thứ tự giảm dần theo bảng chữ cái.

Hàm reverse (), giống như hàm sort (), sửa đổi thứ tự của danh sách của chúng ta. Chúng ta không thể gán kết quả của reverse () cho một biến mới mà không sửa đổi mảng ban đầu. Chúng ta đã nói về điều này trước đó với phương thức sort ().

Kết luận

Phương thức sort () trong JavaScript sắp xếp nội dung của danh sách theo thứ tự tăng dần hoặc giảm dần. sort () sửa đổi một danh sách có nghĩa là phương thức không tạo một danh sách mới. reverse (), khi được sử dụng sau sort (), sẽ sắp xếp danh sách theo thứ tự giảm dần.

Trong hướng dẫn này, chúng tôi đã chia nhỏ cách sắp xếp một mảng trong JavaScript bằng cách sử dụng sort (). Chúng ta đã thảo luận về việc sắp xếp một mảng số, cách sắp xếp một mảng đối tượng và sử dụng reverse () để đảo ngược nội dung của một mảng.

Để được tư vấn về các tài nguyên học JavaScript hàng đầu và các khóa học trực tuyến, hãy xem bài viết Cách học JavaScript của chúng tôi.