Viết chương trình javascript để sắp xếp một mảng các đối tượng javascript

Mảng JavaScript. Phương thức sort[] dùng để sắp xếp mảng tại chỗ theo một thứ tự nhất định theo hàm so sánh[]. Nếu phương thức bị bỏ qua thì mảng được sắp xếp theo thứ tự tăng dần

cú pháp

arr.sort[compareFunction]

Thông số. Phương thức này chấp nhận một tham số duy nhất như đã đề cập ở trên và được mô tả bên dưới

  • so sánh chức năng. Tham số này được sử dụng để sắp xếp các phần tử theo các thuộc tính khác nhau và theo một thứ tự khác
    • so sánh Hàm [a, b] < 0
    • so sánh Hàm [a, b] > 0
    • so sánh Hàm [a, b] = 0

Giá trị trả về. Phương thức này trả về tham chiếu của mảng gốc đã được sắp xếp

ví dụ 1.  

JavaScript




Geeks,for,Geeks
Geeks,Geeks,for
0

Geeks,for,Geeks
Geeks,Geeks,for
1
Geeks,for,Geeks
Geeks,Geeks,for
2

Geeks,for,Geeks
Geeks,Geeks,for
1
Geeks,for,Geeks
Geeks,Geeks,for
0
Geeks,for,Geeks
Geeks,Geeks,for
1

Geeks,for,Geeks
Geeks,Geeks,for
1

Geeks,for,Geeks
Geeks,Geeks,for
3____14

Geeks,for,Geeks
Geeks,Geeks,for
3
Geeks,for,Geeks
Geeks,Geeks,for
6
Geeks,for,Geeks
Geeks,Geeks,for
7
Geeks,for,Geeks
Geeks,Geeks,for
8
Geeks,for,Geeks
Geeks,Geeks,for
9
Geeks,for,Geeks
Geeks,Geeks,for
00
Geeks,for,Geeks
Geeks,Geeks,for
9
Geeks,for,Geeks
Geeks,Geeks,for
8
Geeks,for,Geeks
Geeks,Geeks,for
03

Geeks,for,Geeks
Geeks,Geeks,for
1

Geeks,for,Geeks
Geeks,Geeks,for
3____106

Geeks,for,Geeks
Geeks,Geeks,for
3____108

Geeks,for,Geeks
Geeks,Geeks,for
3____190

Geeks,for,Geeks
Geeks,Geeks,for
1
Geeks,for,Geeks
Geeks,Geeks,for
92

Geeks,for,Geeks
Geeks,Geeks,for
1
Geeks,for,Geeks
Geeks,Geeks,for
94

Geeks,for,Geeks
Geeks,Geeks,for
95

đầu ra

Geeks,for,Geeks
Geeks,Geeks,for

ví dụ 2. Trong ví dụ này, phương thức sort[] sắp xếp các phần tử của mảng theo thứ tự tăng dần

JavaScript




Geeks,for,Geeks
Geeks,Geeks,for
0

Geeks,for,Geeks
Geeks,Geeks,for
1
Geeks,for,Geeks
Geeks,Geeks,for
2

Geeks,for,Geeks
Geeks,Geeks,for
1
Geeks,for,Geeks
Geeks,Geeks,for
0
Geeks,for,Geeks
Geeks,Geeks,for
1

Geeks,for,Geeks
Geeks,Geeks,for
3____273

Geeks,for,Geeks
Geeks,Geeks,for
3____16
Geeks,for,Geeks
Geeks,Geeks,for
76

Geeks,for,Geeks
Geeks,Geeks,for
1

Geeks,for,Geeks
Geeks,Geeks,for
3____279

Geeks,for,Geeks
Geeks,Geeks,for
3____190

Geeks,for,Geeks
Geeks,Geeks,for
3____106

Geeks,for,Geeks
Geeks,Geeks,for
1
Geeks,for,Geeks
Geeks,Geeks,for
92

Geeks,for,Geeks
Geeks,Geeks,for
1
Geeks,for,Geeks
Geeks,Geeks,for
94

Geeks,for,Geeks
Geeks,Geeks,for
95

đầu ra

Geeks,for,Geeks
Geeks,Geeks,for
0

ví dụ 3. Trong ví dụ này, phương thức sort[] các phần tử của mảng được sắp xếp theo hàm áp dụng cho từng phần tử

JavaScript




Geeks,for,Geeks
Geeks,Geeks,for
0

Geeks,for,Geeks
Geeks,Geeks,for
1
Geeks,for,Geeks
Geeks,Geeks,for
2

Geeks,for,Geeks
Geeks,Geeks,for
1
Geeks,for,Geeks
Geeks,Geeks,for
0
Geeks,for,Geeks
Geeks,Geeks,for
1

Geeks,for,Geeks
Geeks,Geeks,for
1

Geeks,for,Geeks
Geeks,Geeks,for
3
Geeks,for,Geeks
Geeks,Geeks,for
07

Geeks,for,Geeks
Geeks,Geeks,for
3____16
Geeks,for,Geeks
Geeks,Geeks,for
10

Geeks,for,Geeks
Geeks,Geeks,for
3____712
Geeks,for,Geeks
Geeks,Geeks,for
0
Geeks,for,Geeks
Geeks,Geeks,for
14

Geeks,for,Geeks
Geeks,Geeks,for
3
Geeks,for,Geeks
Geeks,Geeks,for
16
Geeks,for,Geeks
Geeks,Geeks,for
17

Geeks,for,Geeks
Geeks,Geeks,for
1
Geeks,for,Geeks
Geeks,Geeks,for
19

Geeks,for,Geeks
Geeks,Geeks,for
1
Geeks,for,Geeks
Geeks,Geeks,for
06

Geeks,for,Geeks
Geeks,Geeks,for
1
Geeks,for,Geeks
Geeks,Geeks,for
92

Geeks,for,Geeks
Geeks,Geeks,for
1
Geeks,for,Geeks
Geeks,Geeks,for
94

Geeks,for,Geeks
Geeks,Geeks,for
95

đầu ra

Geeks,for,Geeks
Geeks,Geeks,for
9

ví dụ 3. Trong ví dụ này, chúng tôi sử dụng phương thức sort[] trên mảng số & quan sát một số hành vi không mong muốn

Javascript




Geeks,for,Geeks
Geeks,Geeks,for
0

Geeks,for,Geeks
Geeks,Geeks,for
1
Geeks,for,Geeks
Geeks,Geeks,for
29

Geeks,for,Geeks
Geeks,Geeks,for
1
Geeks,for,Geeks
Geeks,Geeks,for
11

Geeks,for,Geeks
Geeks,Geeks,for
95

đầu ra

Geeks,for,Geeks
Geeks,Geeks,for
7

Đầu ra của chúng ta phải là -120, 0, 5. 2, 20, 30, 100 nhưng không phải vậy, tại sao? . 100 sẽ được đặt trước 20, vì '2' lớn hơn '1' và tương tự trong trường hợp 30 & 5. 2, vì '5' lớn hơn '3', do đó, 30 sẽ được đặt trước 5. 2. Chúng ta có thể giải quyết lỗi không mong muốn này bằng cách sử dụng phương thức sort[] cho các số bằng hàm so sánh sau.  

Javascript




Geeks,for,Geeks
Geeks,Geeks,for
0

Geeks,for,Geeks
Geeks,Geeks,for
1
Geeks,for,Geeks
Geeks,Geeks,for
15

Geeks,for,Geeks
Geeks,Geeks,for
1

Geeks,for,Geeks
Geeks,Geeks,for
1
Geeks,for,Geeks
Geeks,Geeks,for
18

Geeks,for,Geeks
Geeks,Geeks,for
19
Geeks,for,Geeks
Geeks,Geeks,for
00

Geeks,for,Geeks
Geeks,Geeks,for
19
Geeks,for,Geeks
Geeks,Geeks,for
02

Geeks,for,Geeks
Geeks,Geeks,for
19
Geeks,for,Geeks
Geeks,Geeks,for
04

Geeks,for,Geeks
Geeks,Geeks,for
19
Geeks,for,Geeks
Geeks,Geeks,for
06

Geeks,for,Geeks
Geeks,Geeks,for
19
Geeks,for,Geeks
Geeks,Geeks,for
08

Geeks,for,Geeks
Geeks,Geeks,for
19
Geeks,for,Geeks
Geeks,Geeks,for
10

_______71____112

Geeks,for,Geeks
Geeks,Geeks,for
1

Geeks,for,Geeks
Geeks,Geeks,for
1
Geeks,for,Geeks
Geeks,Geeks,for
0
Geeks,for,Geeks
Geeks,Geeks,for
16

Geeks,for,Geeks
Geeks,Geeks,for
1
Geeks,for,Geeks
Geeks,Geeks,for
16
Geeks,for,Geeks
Geeks,Geeks,for
19

Geeks,for,Geeks
Geeks,Geeks,for
1
Geeks,for,Geeks
Geeks,Geeks,for
92

Geeks,for,Geeks
Geeks,Geeks,for
1
Geeks,for,Geeks
Geeks,Geeks,for
23

Geeks,for,Geeks
Geeks,Geeks,for
95

đầu ra

Geeks,for,Geeks
Geeks,Geeks,for
9

Vui lòng xem qua phần này Cách sắp xếp mảng số bằng JavaScript?, để biết chức năng sắp xếp mảng javascript hoạt động như thế nào

Chúng tôi có một danh sách đầy đủ các phương thức Mảng Javascript, để kiểm tra những phương thức đó, vui lòng xem qua bài viết tham khảo đầy đủ Mảng Javascript này

Trình duyệt được hỗ trợ. Các trình duyệt được phương thức JavaScript Array sort[] hỗ trợ được liệt kê bên dưới

  • Google Chrome 1 trở lên
  • Cạnh 12 trở lên
  • Firefox 1 trở lên
  • Internet Explorer 5. 5 trở lên
  • Opera4 trở lên
  • Safari1 trở lên

Chúng tôi có một Cheat Sheet về Javascript, nơi chúng tôi đề cập đến tất cả các chủ đề quan trọng của Javascript để kiểm tra những chủ đề đó, vui lòng xem qua Javascript Cheat Sheet-Hướng dẫn cơ bản về JavaScript

Thời gian phức tạp. Độ phức tạp về thời gian của phương thức sort[] khác nhau & phụ thuộc vào việc triển khai

Ví dụ: trong trình duyệt web Firefox, nó sử dụng triển khai sắp xếp hợp nhất mang lại độ phức tạp về thời gian là O[nlog n]. Trong khi đó, trong trình duyệt web Google Chrome, nó sử dụng triển khai Timsort [kết hợp giữa sắp xếp hợp nhất và sắp xếp chèn], cho độ phức tạp về thời gian là O[nlogn]

Làm cách nào để sắp xếp một mảng đối tượng JavaScript?

Để sắp xếp một mảng đối tượng trong JavaScript, hãy sử dụng phương thức sort[] với hàm so sánh . Hàm so sánh giúp chúng ta viết logic trong việc sắp xếp mảng các đối tượng. Chúng cho phép chúng tôi sắp xếp các mảng đối tượng theo chuỗi, số nguyên, ngày hoặc bất kỳ thuộc tính tùy chỉnh nào khác.

Chúng ta có thể sắp xếp mảng đối tượng không?

Sắp xếp mảng đối tượng . Arrays of objects can be sorted by comparing the value of one of their properties.

Sắp xếp mảng trong JavaScript là gì?

Sắp xếp mảng JavaScript[] . sort[] ghi đè lên mảng ban đầu. Hàm sort[] sắp xếp các phần tử dưới dạng chuỗi theo thứ tự bảng chữ cái và tăng dần

Làm cách nào để sắp xếp một mảng đối tượng theo hai trường trong JavaScript?

theo hai trường trong JavaScript ? . Đầu tiên so sánh thuộc tính đầu tiên, Nếu cả hai không bằng nhau thì sắp xếp cho phù hợp. Nếu chúng bằng nhau thì làm tương tự cho thuộc tính thứ hai , ví dụ này cũng theo cách tiếp cận tương tự nhưng sử dụng Cổng OR để giảm mã.

Chủ Đề