Hướng dẫn sort array by subarray value javascript - sắp xếp mảng theo giá trị subarray javascript
Vì vậy, như bạn đã đề cập rằng bạn có một mảng mảng, các đối số của hàm so sánh sẽ là mảng. Do đó, bạn có thể sử dụng 5 và 6 để truy cập các đối tượng. Đây là mã:
Đây là ví dụ về cấu trúc tốt đẹp: Xem ví dụ sau:: in this tutorial, you will learn how to use the JavaScript Array 4 method to sort arrays of numbers, string, and objects. Làm thế nào nó hoạt động:Đầu tiên, tuyên bố & nbsp; một mảng 4 bao gồm các tên sông nổi tiếng. Thứ hai, sắp xếp & nbsp; mảng 4 theo độ dài của phần tử & nbsp; sử dụng phương thức 4. Chúng tôi & nbsp; xuất các phần tử của mảng 4 vào bảng điều khiển web bất cứ khi nào phương thức 4 gọi hàm so sánh. Như thể hiện trong đầu ra ở trên, mỗi phần tử đã được đánh giá nhiều lần, ví dụ, Amazon 4 lần, Congo 2 lần, v.v. Nếu số lượng các phần tử mảng đang tăng lên, nó sẽ có khả năng làm giảm hiệu suất.
Bạn không thể giảm số lần chức năng so sánh được thực thi. Tuy nhiên, bạn có thể giảm công việc mà so sánh phải làm. Kỹ thuật này được gọi là biến đổi Schwartzian.
Để thực hiện & nbsp; điều này, bạn làm theo các bước sau: Đầu tiên, trích xuất các giá trị thực tế vào một mảng tạm thời & nbsp; bằng phương thức map (). Thứ hai, sắp xếp mảng tạm thời với & nbsp; các yếu tố đã được đánh giá (hoặc biến đổi).
Thứ ba, đi bộ mảng tạm thời để có được một mảng với & nbsp; đúng thứ tự. Trong hướng dẫn này, bạn đã học được cách sử dụng phương thức mảng JavaScript 4 để sắp xếp các mảng, số, ngày và đối tượng. Hàm & nbsp; so sánh chức năng của phương thức 4 chấp nhận hai đối số và trả về một giá trị xác định thứ tự sắp xếp. Sau đây minh họa cú pháp của hàm so sánh:
Hàm 0 chấp nhận hai đối số 1 và ________ 52. & NBSP; Phương thức 4 sẽ sắp xếp các phần tử dựa trên giá trị trả về của hàm 0 với các quy tắc sau:
Để khắc phục sự cố sắp xếp số, bạn có thể sử dụng cú pháp sau:
Output:
Hoặc bạn có thể xác định chức năng so sánh bằng cách sử dụng cú pháp hàm mũi tên:
Và sau đây là đơn giản nhất vì các phần tử của mảng là số:
Sắp xếp một mảng chuỗiGiả sử bạn & nbsp; có một mảng chuỗi có tên 6 như sau: 0Để sắp xếp các phần tử của mảng 6 & nbsp; theo thứ tự tăng dần theo thứ tự bảng chữ cái, bạn sử dụng phương thức 4 mà không chuyển hàm so sánh như trong ví dụ sau: 1Output: 2Để sắp xếp mảng 6 theo thứ tự giảm dần, bạn cần thay đổi logic của hàm so sánh và chuyển nó & nbsp; sang phương thức 4 như & nbsp; ví dụ sau. 3Output: 4Giả sử bạn có một mảng chứa các phần tử ở cả chữ hoa và chữ thường như sau: 5Để sắp xếp mảng này theo thứ tự bảng chữ cái, bạn cần sử dụng hàm so sánh tùy chỉnh để chuyển đổi tất cả các phần tử thành cùng một trường hợp, ví dụ: chữ hoa để so sánh và chuyển hàm đó sang phương thức 4. 6Output: 7Sắp xếp một mảng các chuỗi với các ký tự không phải ASCIIPhương pháp 4 đang hoạt động tốt với & nbsp; chuỗi với & nbsp; các ký tự ASCII. Tuy nhiên, đối với các chuỗi có ký tự không phải ASCII, ví dụ: & nbsp; é, è, v.v., phương pháp 4 sẽ không hoạt động chính xác. Ví dụ: 8Như bạn thấy, chuỗi 4 sẽ đến & nbsp; trước chuỗi 5. Để giải quyết điều này, bạn sử dụng phương pháp 6 của đối tượng 7 để so sánh các chuỗi trong một địa điểm cụ thể, như thế này: 9Output: 0 Các yếu tố của mảng 8 hiện đang theo đúng thứ tự. Sắp xếp một mảng các sốGiả sử bạn có một loạt các số có tên 9 như trong ví dụ sau. 1 Để sắp xếp một mảng các số bằng số, bạn cần chuyển vào hàm so sánh tùy chỉnh so sánh hai số. Ví dụ sau đây sắp xếp mảng 9 bằng số theo thứ tự tăng dần. 2 Output: 3 Để sắp xếp một mảng số bằng số theo thứ tự giảm dần, bạn chỉ cần đảo ngược logic trong Chức năng so sánh & nbsp; 4 Output: 5 Sắp xếp một mảng các đối tượng theo một thuộc tính được chỉ địnhSau đây là một mảng của các đối tượng 1, trong đó mỗi đối tượng chứa ba thuộc tính: ________ 82, ________ 83 và 4. 6 Sắp xếp các đối tượng theo một thuộc tính sốVí dụ sau đây cho thấy cách sắp xếp nhân viên theo 3 theo thứ tự tăng dần. 7 Output: Ví dụ này tương tự như ví dụ về việc sắp xếp một mảng các số theo thứ tự tăng dần. Sự khác biệt là nó so sánh thuộc tính 3 của hai đối tượng thay thế. Sắp xếp các đối tượng theo thuộc tính chuỗiĐể sắp xếp mảng 7 theo 2 Case Case-Incalition, bạn vượt qua hàm so sánh & nbsp; so sánh hai chuỗi không nhạy cảm như sau: 8Sorting đối tượng theo thuộc tính ngày Sorting objects by the date propertyGiả sử, bạn muốn sắp xếp nhân viên dựa trên mỗi ngày thuê nhân viên. Dữ liệu ngày thuê được lưu trữ & nbsp; trong thuộc tính 4 của đối tượng nhân viên. Tuy nhiên, nó chỉ là một chuỗi đại diện cho một ngày hợp lệ, không phải đối tượng 0. & NBSP; Do đó, để sắp xếp nhân viên theo ngày thuê, trước tiên bạn phải tạo một đối tượng 0 hợp lệ từ chuỗi ngày, sau đó so sánh hai ngày, giống như so sánh hai số. Đây là giải pháp: 9Optimizing mảng JavaScript 4 Phương pháp Optimizing JavaScript Array [ 0, 1, 10, 2, 20, 3, 30 ]Code language: JSON / JSON with Comments (json)4 methodTrong & nbsp; thực tế, phương thức 4 gọi hàm so sánh nhiều lần cho mỗi phần tử trong mảng. Xem ví dụ sau: 0 Output: 1 Làm thế nào nó hoạt động:
Như thể hiện trong đầu ra ở trên, mỗi phần tử đã được đánh giá nhiều lần, ví dụ, Amazon 4 lần, Congo 2 lần, v.v. Nếu số lượng các phần tử mảng đang tăng lên, nó sẽ có khả năng làm giảm hiệu suất. Bạn không thể giảm số lần chức năng so sánh được thực thi. Tuy nhiên, bạn có thể giảm công việc mà so sánh phải làm. Kỹ thuật này được gọi là biến đổi Schwartzian. Để thực hiện & nbsp; điều này, bạn làm theo các bước sau:
Đây là giải pháp: 2 Output: 3 Trong hướng dẫn này, bạn đã học được cách sử dụng phương thức mảng JavaScript 4 để sắp xếp các mảng, số, ngày và đối tượng.
Hướng dẫn này có hữu ích không? |