Hướng dẫn sort array javascript - sắp xếp mảng javascript
Nội dung bài viết Trong bài viết này, chúng ta sẽ xem các trường hợp sử dụng phổ biến nhất cho phương thức Đây là một bài viết 41 của Series - Mẹo viết javascript mục đích giúp các bạn có thể tiết kiệm được nhiều thời gian để làm các việc khác. Ngoài ra, bạn có thể học nâng cao hơn trong Series - Con đường kiến trúc sư ở đó tập trung nhiều vào xử lý các tình huống khó hơn. Hôm nay bài viết có lẽ mà tôi khó có thể viết tốt hơn được tác giả, bạn muốn đọc vui lòng truy cập link gốc dưới bài viết, mục đích muốn chia sẻ một số trường hợp sử dụng phổ biến nhất cho 7 phương thức Array trong JavaScript. Các phương pháp 7 sắp xếp các yếu tố của một mảng và trả về mảng được sắp xếp. Thứ tự sắp xếp mặc định tăng dần và giảm dần. Trong bài viết này, bạn sẽ xem cách chúng ta có thể sử dụng sức mạnh của nó một cách tối đa về 7.Trước khi bắt đầu bạn cũng nên xem qua 10 tính năng phổ biến nhất của Array mà bất kỳ bạn nào cũng nên biết. Ok, đi thôi. Tăng dần (A đến Z): Chúng ta có thể sắp xếp một mảng chuỗi đơn giản bằng cách sử dụng một phương thức mảng 7 mà không có hàm như sau:
Giảm dần (Z đến A): Để sắp xếp mảng chuỗi theo thứ tự giảm dần, chúng ta có thể sử dụng phương thức String 1 như sau:
Sử dụng sort() có sự phân biệt chữ hoa và thườngTrước tiên, chúng ta hãy xem điều gì sẽ xảy ra khi chúng ta sắp xếp mặc định cho một mảng có chứa cả phần tử chuỗi chữ thường và chữ hoa.
Tăng dần (aA đến zZ): Đó là một sơ hở nếu bạn không biết có thể đi tìm rất mệt, để giải quyết vấn đề đó thì một giải pháp được đưa ra đó là chuyển tất cả các 2 về chữ thường và sau đó chúng ta tiếp tục so sánh. Bạn có thể xem ví dụ dưới đây.
Hoặc một giải pháp khác...
Sort array number JavaScript
Trong ví dụ trên, chúng ta có thể thấy rằng nếu chúng ta sử dụng một sắp xếp mặc định như ví dụ trên, chúng ta sẽ nhận được đầu ra không chính xác, 3 sẽ đứng trước 4, khi mà đáng ra 3 nằm ở vị trí cuối cùng. Điều này xảy ra vì các phần tử mảng được sắp xếp bằng cách chuyển đổi chúng thành chuỗi và so sánh các chuỗi theo thứ tự đơn vị mã 6. Vì vậy, trong một sắp xếp số, 2 phải đứng trước 10, nhưng vì các số được chuyển đổi thành chuỗi, nên 7 đứng trước 8 theo thứ tự Unicode.Giải pháp cho sắp xếp tăng dần: Chúng ta có thể sắp xếp một mảng số theo thứ tự tăng dần bằng cách sử dụng một hàm so sánh đơn giản như thế này Chúng ta có thể sắp xếp một mảng số theo thứ tự tăng dần bằng cách sử dụng một hàm so sánh đơn giản như thế này
Giải pháp cho sắp xếp giảm dần: Để sắp xếp một mảng số theo thứ tự giảm dần, chúng ta có thể chỉ cần hoán đổi 9 như sau:
Sắp xếp một mảng chuỗi với định dạng Date
Trong ví dụ trên, chúng ta có thể thấy rằng chuỗi ngày 0 đến trước 1 đó không phải là kết quả chính xác. Điều này xảy ra vì lý do tương tự khi sắp xếp mảng số, nơi mà chúng tôi đã tìm thấy 3 trước đây 4 khi sử dụng sắp xếp mặc định.Tăng dần Để sắp xếp đúng một mảng chuỗi ngày, chúng ta có thể tạo một đối tượng 4 bằng cách chuyển chuỗi ngày vào 5 bên trong hàm so sánh như sau:
Giảm dần: Đối với thứ tự giảm dần, chúng ta có thể chỉ cần hoán đổi như sau: Đối với thứ tự giảm dần, chúng ta có thể chỉ cần hoán đổi như sau: 0Sort object array javascript by keyChúng ta có thể sắp xếp một mảng các đối tượng theo một giá trị thuộc tính như sau: 1Đó là một sắp xếp cho thứ tự tăng dần và bạn cũng có thể làm ngược lại với chiều giảm dần. Giảm dần: Đối với logic thứ tự giảm dần, chúng ta chỉ cần hoán đổi 9 trong hàm so sánh sắp xếp như: 2Sort object array javascript by mutiple keyTăng dần: Giả sử chúng ta có một mảng như thế này: 3Yêu cầu của chúng tôi là: Đầu tiên, chúng ta cần sắp xếp các giá trị có thuộc tính 7 theo thứ tự tăng dần, sau đó thêm một điều kiện nữa đó là 8 tăng dần tiếp theo. Vì vậy, kết qủa sẽ như thế này:Bạn có thể làm theo nhiều cách nhưng có vẻ như cách này khá phổ biến nhất. 4// Output is the same as shown in the above table Hoặc, bạn cũng có thể viết điều này trong một dòng như: 5và kết quả không có gì thay đổi. Tóm lạiBài viết này thật ra nó không mới so với nhiều bạn đã có kinh nghiệm với javascript rồi. Nhưng nó là một tài liệu tốt về cách sort trong array. Và đây là một bài viết được biên dịch lại từ bài viết gốc của tác giả Palash Mondal. Bạn có thể tham khảo hơn tại bài viết gốc. Chúc các bạn đạo code giỏi hơn nữa :) |