Sắp xếp đối tượng JavaScript

Trong hướng dẫn này, chúng tôi sẽ chia sẻ một phương pháp rất đơn giản và đầy đủ chức năng để sắp xếp một mảng các đối tượng theo khóa

Đây là một phương pháp sắp xếp chức năng ES5. đối tượng. keys đưa ra danh sách các khóa trong đối tượng được cung cấp, sau đó bạn nên sắp xếp các khóa đó bằng thuật toán sắp xếp mặc định, sau đó phương thức chuyển đổi mảng đó trở lại thành một đối tượng với tất cả các khóa được sắp xếp

function sortObj[obj] {
  return Object.keys[obj].sort[].reduce[function [result, key] {
    result[key] = obj[key];
    return result;
  }, {}];
}

Javascript sắp xếp đối tượng theo khóa

hàm sortObj[obj] { trả lại đối tượng. phím [obj]. loại[]. giảm[hàm [kết quả, khóa] { result[key] = obj[key]; trả về kết quả; }, {}]; . "Ann", "tuổi". 75 }; . nhật ký [mảng];

Một đoạn mã một lớp của ví dụ trên

const sortObject = obj => Object.keys[obj].sort[].reduce[[res, key] => [res[key] = obj[key], res], {}]

Javascript sắp xếp đối tượng theo khóa

const sortObject = obj => Đối tượng. phím [obj]. loại[]. giảm [[res, key] => [res[key] = obj[key], res], {}]; . "John", "tuổi". 20 }; . nhật ký [mảng];

Hành vi này có sẵn trong tất cả các trình duyệt chính và đã được chuẩn hóa trong ES6/ES2015

Vật. keys[] trả về một mảng trong đó các phần tử là các chuỗi tương ứng với vô số thuộc tính được tìm thấy trên đối tượng. Thứ tự của thuộc tính tương tự như thứ tự do đối tượng đưa ra theo cách thủ công trong một vòng lặp được áp dụng cho các thuộc tính. Vật. keys[] được sử dụng để trả về vô số thuộc tính của một mảng đơn giản, của một đối tượng giống mảng và một đối tượng giống mảng với thứ tự ngẫu nhiên

Psssst. TRẠI BOOTC PHÁT TRIỂN WEB 2023 sẽ bắt đầu chỉ sau vài ngày nữa. Tham gia danh sách chờ, giữ chỗ trong khóa học thuần tập kéo dài 10 tuần của tôi và tìm hiểu các nguyên tắc cơ bản, HTML, CSS, JS, Tailwind, React, Next. jsvà hơn thế nữa. ✨

Giả sử bạn có một mảng đối tượng

bạn có thể có vấn đề này. làm thế nào để bạn sắp xếp mảng đối tượng này theo giá trị của một thuộc tính?

Giả sử bạn có một mảng các đối tượng như thế này

const list = [
  { color: 'white', size: 'XXL' },
  { color: 'red', size: 'XL' },
  { color: 'black', size: 'M' }
]

Bạn muốn hiển thị danh sách này, nhưng trước tiên bạn muốn sắp xếp nó theo giá trị của một trong các thuộc tính. Ví dụ: bạn muốn sắp xếp nó theo tên màu, theo thứ tự bảng chữ cái. đen đỏ trăng

Bạn có thể sử dụng phương thức

list.sort[[a, b] => [a.color > b.color] ? 1 : -1]
0 của
list.sort[[a, b] => [a.color > b.color] ? 1 : -1]
1, phương thức này nhận hàm gọi lại, hàm này nhận tham số 2 đối tượng chứa trong mảng [mà chúng ta gọi là
list.sort[[a, b] => [a.color > b.color] ? 1 : -1]
2 và
list.sort[[a, b] => [a.color > b.color] ? 1 : -1]
3]

list.sort[[a, b] => [a.color > b.color] ? 1 : -1]

Khi chúng ta trả về 1, hàm sẽ thông báo với

list.sort[[a, b] => [a.color > b.color] ? 1 : -1]
0 rằng đối tượng
list.sort[[a, b] => [a.color > b.color] ? 1 : -1]
3 được ưu tiên sắp xếp hơn đối tượng
list.sort[[a, b] => [a.color > b.color] ? 1 : -1]
2. Trả lại
list.sort[[a, b] => [a.color > b.color] ? 1 : -1]
0 sẽ làm ngược lại

Hàm gọi lại cũng có thể tính toán các thuộc tính khác, để xử lý trường hợp màu giống nhau và cũng sắp xếp theo thuộc tính phụ

Sắp xếp đề cập đến quá trình sắp xếp dữ liệu theo một thứ tự cụ thể, tăng hoặc giảm. Chúng tôi có thể đã sắp xếp các loại dữ liệu khác nhau trong javascript, ví dụ: mảng, danh sách, bản đồ, v.v.

Sắp xếp một mảng các đối tượng trong javascript có thể được thực hiện bằng cách sử dụng mảng thông thường. sort[] trong javascript và bắt buộc phải truyền hàm so sánh, hàm này sẽ xác định mảng đối tượng của chúng ta sẽ được sắp xếp trên cơ sở nào

Phạm vi

  • Trong bài viết này, chúng ta sẽ thảo luận về cách sắp xếp một mảng các đối tượng trong JavaScript. Chúng ta sẽ tìm hiểu về nó là gì và cú pháp, cách tạo, hàm so sánh, v.v.
  • Chúng ta sẽ tìm hiểu về cách sắp xếp mảng đối tượng theo số và sắp xếp mảng đối tượng theo chuỗi và ngày tháng
  • Chúng ta cũng sẽ tìm hiểu về tính ổn định sắp xếp, với các ví dụ liên quan

Giới thiệu

Mảng đối tượng là tập hợp nhiều đối tượng trong một mảng. Chúng ta phải biết rằng một đối tượng là một tập hợp các cặp khóa-giá trị không có thứ tự. Do đó, mảng đối tượng của chúng tôi chứa các cặp khóa-giá trị, có thể được truy cập bằng '. ' [dấu chấm] toán tử

Trong JavaScript, các mảng đi kèm với một hàm tích hợp sẵn sort[], với mục tiêu chính là sắp xếp bất kỳ phần tử nào dựa trên thứ tự bảng chữ cái

Phương thức sort[] sắp xếp các phần tử của mảng tại chỗ và trả về mảng đã sắp xếp, mặc định sắp xếp theo thứ tự tăng dần

Thông thường, chúng ta có thể sắp xếp một mảng các đối tượng bằng Array. chức năng sắp xếp trong javascript. Việc sắp xếp dựa trên giá trị của thuộc tính mà mọi đối tượng có. Tuy nhiên, chúng ta cần cung cấp phương thức sort[], một hàm xác định cách sắp xếp của chúng ta sẽ hoạt động hay đơn giản là cơ chế sắp xếp.

Thông thường, việc sắp xếp dựa trên giá trị của thuộc tính mà mọi đối tượng có. Chúng ta có thể sử dụng Mảng. chức năng sắp xếp, nhưng chúng tôi cần cung cấp một chức năng xác định cơ chế sắp xếp của chúng tôi

Ví dụ: có nhiều khối có chiều dài và chiều rộng khác nhau trong hình trên. Chúng tôi quyết định sắp xếp chúng dựa trên chiều rộng của chúng và do đó chúng tôi nhận được kết quả đó

Nếu chúng tôi sắp xếp chúng dựa trên độ dài của chúng, chúng tôi sẽ nhận được kết quả bên dưới

Do đó, trong khi sắp xếp một mảng các đối tượng trong JavaScript, nó chủ yếu phụ thuộc vào hàm chúng ta xác định để sắp xếp mảng của mình

Sự miêu tả

Chúng tôi có thể sắp xếp một mảng các đối tượng trong JavaScript bằng cách sử dụng Mảng tích hợp của chúng tôi. sort[], tuy nhiên, chúng ta phải chuyển một hàm tùy chỉnh cho phương thức sắp xếp tích hợp sẵn của mình. Hàm này là cần thiết để so sánh các thuộc tính dựa trên đó chúng ta muốn sắp xếp mảng đối tượng của mình

Mảng thông thường. phương thức sort[] không hoạt động trên một mảng đối tượng. Ví dụ,

Trong hình trên, bạn có thể thấy rằng khi chúng ta sắp xếp một chuỗi các chuỗi bằng Arrays. sort[], nó sẽ được sắp xếp dễ dàng. Nhưng khi chúng ta cố gắng sắp xếp một mảng các đối tượng

Ví dụ, ở đây chúng ta có một mảng các đối tượng. Tên hoa và giá của chúng, trong trường hợp đó, Mảng bình thường của chúng tôi. Phương thức sắp xếp [] không hoạt động. Do đó, chúng ta cần chuyển một hàm tùy chỉnh cho phương thức sắp xếp của mình, dựa vào đó nó sẽ có thể sắp xếp mảng đối tượng của chúng ta

cú pháp

Cú pháp sắp xếp một mảng các đối tượng trong JavaScript được đưa ra dưới đây


// Arrow function
sort[[a, b] => { /* .. */ } ]

// Compare function
sort[compareFunction]

// Inline compare function
sort[function compareFunction[a, b] { /* our code here */ }]

Theo cú pháp trên, bạn có thể thấy rằng chúng ta có thể sắp xếp mảng các đối tượng của mình trong JavaScript bằng cách sử dụng Mảng thông thường. phương thức sắp xếp[]. Ngoài ra, ở đây chúng ta bắt buộc phải truyền một hàm trong phương thức sort[] của mình [chỉ trong trường hợp một mảng các đối tượng, hàm so sánh là bắt buộc, nếu không thì nó là tùy chọn], điều này sẽ xác định cơ chế sắp xếp của chúng ta. Hãy cho chúng tôi hiểu từng tham số được thực hiện bởi hàm sắp xếp bên dưới

Thông số

Mảng. hàm sort[] lấy hàm so sánh làm tham số. Nói chung, hàm so sánh là một tham số tùy chọn, nhưng khi nói đến mảng đối tượng, nó trở nên quan trọng

Về cơ bản, hàm so sánh chỉ định một hàm xác định thứ tự sắp xếp của mảng đối tượng của chúng ta. Hàm so sánh có thể được truyền cho phương thức sắp xếp dưới dạng hàm mũi tên, hàm so sánh nội tuyến hoặc hàm bình thường

Giá trị trả về

Phương thức sort[] trả về một mảng các đối tượng đã được sắp xếp. Ngoài ra, việc phân loại được thực hiện tại chỗ. Bằng cách sắp xếp tại chỗ, chúng tôi muốn nói rằng không có bản sao riêng biệt nào của mảng được tạo sau khi sắp xếp. Do đó, phải mất một lượng không gian không đổi để sắp xếp mảng các đối tượng

Hàm so sánh

Để sắp xếp một mảng các đố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 tháng hoặc bất kỳ thuộc tính tùy chỉnh nào khác

Hàm so sánh trả về giá trị âm, 0 hoặc dương, tùy thuộc vào các đối số được truyền cho nó

Khi hàm sort[] so sánh hai giá trị, nó sẽ gửi các giá trị đến hàm so sánh và sắp xếp các giá trị theo giá trị được trả về [âm, 0, dương] bởi hàm so sánh. Hãy để chúng tôi xem, khi một hàm so sánh trả về một giá trị cụ thể

function[x, y]{return x - y}
  • Nếu hàm so sánh trả về giá trị âm, thì x được giữ trước y trong kết quả được sắp xếp
  • Ngược lại, nếu, hàm so sánh trả về một giá trị dương, thì y được giữ trước x trong kết quả được sắp xếp
  • Mặt khác, nếu hàm so sánh trả về số 0, thì không có phép hoán đổi nào được thực hiện giữa x và y thành kết quả được sắp xếp và thứ tự của chúng vẫn giữ nguyên

Về cơ bản, nó có thể được hình dung như dưới đây

 if [x.value > y.value] {
    return 1;
  }
  if [x.value < y.value] {
    return -1;
  }
  return 0;

Tạo, hiển thị và sắp xếp một mảng

Hãy để chúng tôi tạo, hiển thị và sau đó sắp xếp một mảng hoặc một đối tượng dựa trên giá trị của nó. Chúng ta cũng sẽ xem cách viết hàm sắp xếp

Mã số

________số 8

đầu ra

 "Original Products are:"
> Array [
Object { product_name: "The Witchers", type: "book", manufactured: Mon May 13 2019 05:30:00 GMT+0530 [India Standard Time], price: 800 },
Object { product_name: "Black Heels", type: "Shoes", manufactured: Tue Jul 06 2021 05:30:00 GMT+0530 [India Standard Time], price: 2500 }, 
Object { product_name: "Skybags", type: "Bags", manufactured: Tue Sep 22 2020 05:30:00 GMT+0530 [India Standard Time], price: 2200 },
Object { product_name: "OnePlus 9", type: "Mobile Phone", manufactured: Tue Mar 23 2021 05:30:00 GMT+0530 [India Standard Time], price: 49000 }
]


> "Products sorted based on descending order of their prices are:"
> Array [
Object { product_name: "OnePlus 9", type: "Mobile Phone", manufactured: Tue Mar 23 2021 05:30:00 GMT+0530 [India Standard Time], price: 49000 }, 
Object { product_name: "Black Heels", type: "Shoes", manufactured: Tue Jul 06 2021 05:30:00 GMT+0530 [India Standard Time], price: 2500 }, 
Object { product_name: "Skybags", type: "Bags", manufactured: Tue Sep 22 2020 05:30:00 GMT+0530 [India Standard Time], price: 2200 }, 
Object { product_name: "The Witchers", type: "book", manufactured: Mon May 13 2019 05:30:00 GMT+0530 [India Standard Time], price: 800 }
]

Giải trình

Trong ví dụ trên, chúng tôi đã xác định một mảng đối tượng bao gồm một mảng sản phẩm chứa các sản phẩm khác nhau, loại, ngày sản xuất và giá cả. Để sắp xếp chúng, chúng tôi đã viết chức năng tùy chỉnh của mình theo phương pháp sắp xếp sẵn có của javascript, như được đưa ra bên dưới

Mã số

const sortObject = obj => Object.keys[obj].sort[].reduce[[res, key] => [res[key] = obj[key], res], {}]
0

đầu ra

const sortObject = obj => Object.keys[obj].sort[].reduce[[res, key] => [res[key] = obj[key], res], {}]
1

Mảng. sắp xếp so sánh hai đối tượng bất kỳ [giá ở đây] và nếu giá của bất kỳ sản phẩm nào thấp hơn giá của sản phẩm khác, nó sẽ trả về "giá trị dương", dẫn đến việc sắp xếp chúng theo thứ tự giảm dần. Trong trường hợp, giá của sản phẩm nhất định nhỏ hơn, nó trả về giá trị âm. Nếu giá của cả hai sản phẩm bằng nhau, nó trả về 0, có nghĩa là không cần hoán đổi các đối tượng đó vì giá của chúng nhất thiết phải giống nhau

Ghi chú. Chúng ta nên xử lý trường hợp bằng 0, khi giá trị của cả hai đối tượng là như nhau, để tránh hoán đổi không cần thiết

Bây giờ, chúng ta cũng hãy xử lý trường hợp sắp xếp mảng sản phẩm dựa trên ngày sản xuất theo thứ tự tăng dần

Mã số

const sortObject = obj => Object.keys[obj].sort[].reduce[[res, key] => [res[key] = obj[key], res], {}]
2

đầu ra

const sortObject = obj => Object.keys[obj].sort[].reduce[[res, key] => [res[key] = obj[key], res], {}]
3

Giải trình

Trong ví dụ trên, chúng tôi đã cố gắng sắp xếp mảng của mình dựa trên ngày sản xuất, theo thứ tự tăng dần. Chúng tôi đã viết hàm tùy chỉnh của mình, hàm này so sánh hai ngày và trả về giá trị dương, giá trị âm hoặc số 0 dựa trên ngày. Tương tự như vậy, chúng tôi sắp xếp toàn bộ mảng đối tượng dựa trên thuộc tính này

Sắp xếp một mảng các đối tượng theo số

Hãy để chúng tôi tạo một mảng các đối tượng và sắp xếp nó dựa trên các số. Dưới đây đưa ra là một ví dụ để mô tả cùng

Mã số

const sortObject = obj => Object.keys[obj].sort[].reduce[[res, key] => [res[key] = obj[key], res], {}]
4

đầu ra

function[x, y]{return x - y}
0

Giải trình

Trong ví dụ trên, chúng ta sắp xếp một mảng đối tượng, cụ thể là mảng sinh viên ở đây, dựa trên thuộc tính "roll number". Chúng tôi tạo chức năng tùy chỉnh của mình, lấy số cuộn làm tham số và so sánh chúng

Chúng ta hãy xem xét một cách thậm chí còn đơn giản hơn để sắp xếp mảng sinh viên của chúng ta, dựa trên số điểm danh của họ

Mã số

function[x, y]{return x - y}
1

đầu ra

function[x, y]{return x - y}
2

Giải trình

Trong đoạn mã trên, chúng tôi chỉ tính toán sự khác biệt giữa mỗi cuộn. Bằng cách này, chúng tôi nhận được 3 giá trị khác nhau dựa trên đó chúng tôi có thể thực hiện sắp xếp của mình

Giả sử chúng ta đang so sánh hai số cuộn aaa và bbb. Nếu hàm so sánh của chúng ta trả về một giá trị nhỏ hơn 0, a sẽ xuất hiện trước bbb. Nếu nó lớn hơn 0, bbb sẽ xuất hiện trước aaa. Nếu nó chính xác là 000, thì thứ tự ban đầu sẽ được duy trì

Sắp xếp một mảng các đối tượng theo chuỗi

Bây giờ chúng ta hãy lấy một mảng các đối tượng và sắp xếp nó dựa trên các giá trị chuỗi có trong mảng

Dưới đây, đoạn mã sau đây mô tả cách chúng tôi có thể sắp xếp tên của các sinh viên theo tên của họ, theo thứ tự tăng dần và không phân biệt chữ hoa chữ thường

Mã số

function[x, y]{return x - y}
3

đầu ra

function[x, y]{return x - y}
4

Giải trình

Trong ví dụ trên, chúng tôi đã sắp xếp tên của các sinh viên theo thứ tự giảm dần. Để làm được điều đó, chúng tôi đã viết hàm so sánh tùy chỉnh nội tuyến của mình. Trong chức năng đó, chúng tôi đã so sánh tên của các sinh viên. Nhưng trước tiên, chúng tôi đã chuyển đổi chúng thành chữ hoa để thực hiện sắp xếp không phân biệt chữ hoa chữ thường

Bây giờ, tùy thuộc vào giá trị mà hàm tìm kiếm của chúng ta trả về, chúng ta sẽ sắp xếp mảng của mình. Như chúng ta đã thấy, nó có thể trả về các giá trị dương, âm và 0

Hiển thị theo thứ tự giảm dần

Để hiển thị tên theo thứ tự giảm dần, chúng tôi chỉ cần đảo ngược thứ tự so sánh của chúng tôi. Chúng ta hãy xem đoạn mã dưới đây để hiểu rõ

Mã số

function[x, y]{return x - y}
5

đầu ra

function[x, y]{return x - y}
6

Giải trình

Chỉ cần đảo ngược thứ tự của các toán tử so sánh, chúng ta có thể sắp xếp dữ liệu theo thứ tự giảm dần. Vui lòng tham khảo cách hoạt động của hàm sắp xếp trên các giá trị trả về khác nhau của hàm so sánh

Hiển thị dữ liệu bằng vòng lặp forEach

Bạn có thể nhận thấy rằng chúng tôi đang sử dụng "bảng điều khiển. log" để ghi nhật ký đầu ra của chúng tôi. Chúng ta cũng hãy tìm hiểu cách hiển thị dữ liệu bằng cách sử dụng vòng lặp forEach thành một định dạng cụ thể

Mã số

function[x, y]{return x - y}
7

đầu ra

function[x, y]{return x - y}
8

Giải trình

Trong ví dụ trên, chúng tôi đã sử dụng vòng lặp forEach để hiển thị tên và số điểm danh của sinh viên

Giả sử rằng chúng ta có một mảng các đối tượng sinh viên như được đưa ra trong ví dụ mã bên dưới. Chúng tôi sẽ cố gắng sắp xếp dựa trên ngày đăng ký của họ. Hãy để chúng tôi tìm hiểu cách sắp xếp một mảng các đối tượng theo ngày

Để sắp xếp một mảng các đối tượng theo chuỗi ngày, tất cả những gì chúng ta cần làm là cung cấp một hàm so sánh để phân tích chuỗi ngày trước, sử dụng hàm tạo Date[] mới và trừ chúng khỏi nhau

Đoạn mã sau minh họa khái niệm chính về sắp xếp theo ngày trong một mảng các đối tượng

Mã số

function[x, y]{return x - y}
9

đầu ra

 if [x.value > y.value] {
    return 1;
  }
  if [x.value < y.value] {
    return -1;
  }
  return 0;
0

Giải trình

Trong ví dụ trên, chúng tôi đang sắp xếp mảng đối tượng theo thứ tự tăng dần, dựa trên các giá trị ngày đăng ký. Để sắp xếp chúng, chúng tôi điền ngày giả và sau đó sắp xếp chúng bằng cách so sánh hai ngày trong chức năng sắp xếp nội tuyến tùy chỉnh của chúng tôi

Ví dụ: đoạn mã dưới đây sẽ được sử dụng để sắp xếp ngày của chúng tôi

Mã số

 if [x.value > y.value] {
    return 1;
  }
  if [x.value < y.value] {
    return -1;
  }
  return 0;
1

đầu ra

 if [x.value > y.value] {
    return 1;
  }
  if [x.value < y.value] {
    return -1;
  }
  return 0;
2

Ở đây chúng tôi đang lấy 2 chuỗi [là ngày] và tạo chúng thành ngày bằng cách sử dụng hàm tạo Date[] mới. Sau đó, chúng tôi tìm ra sự khác biệt giữa hai ngày và dựa trên giá trị trả về, nghĩa là giá trị trả về dương, âm hoặc bằng 0, chúng tôi sắp xếp các ngày

Ổn định sắp xếp

Nói chung, các thuật toán sắp xếp ổn định là những thuật toán duy trì thứ tự hoặc vị trí tương đối của việc sắp xếp các mục. Nói một cách đơn giản, các thuật toán sắp xếp ổn định duy trì vị trí của hai phần tử bằng nhau so với nhau

Mảng. sắp xếp ổn định theo thông số kỹ thuật, kể từ ES 201920192019 hoặc phiên bản 101010. Trước đó, độ ổn định sắp xếp không được đảm bảo

Ví dụ: giả sử chúng ta có một mảng người chơi, trong đó mỗi người chơi có tên và điểm số

Bây giờ, nếu chúng ta sắp xếp những người chơi theo thứ tự điểm số giảm dần, chúng ta sẽ thấy rằng những người chơi có cùng số điểm sẽ duy trì vị trí tương đối của họ. Ví dụ: chúng tôi sắp xếp đối tượng trình phát ở trên trong mã được cung cấp bên dưới

Sau đó, chúng tôi sẽ hiển thị dữ liệu của mình bằng vòng lặp forEach trong javascript

Mã số

 if [x.value > y.value] {
    return 1;
  }
  if [x.value < y.value] {
    return -1;
  }
  return 0;
3

Cuối cùng, chúng tôi sẽ nhận được đầu ra dưới đây

đầu ra

 if [x.value > y.value] {
    return 1;
  }
  if [x.value < y.value] {
    return -1;
  }
  return 0;
4

Xin lưu ý, trong kết quả trên, người chơi Jon và Ron có cùng số điểm và thứ tự Jon đến trước Ron được giữ nguyên. Đây là những gì đảm bảo sắp xếp ổn định nói chung

Trước phiên bản 10 [hoặc EcmaScript 201920192019], tính ổn định sắp xếp không được đảm bảo, điều đó có nghĩa là chúng tôi cũng có thể nhận được một số kết quả như hình bên dưới

Bạn có thể sắp xếp một đối tượng JavaScript không?

Chúng tôi có thể sắp xếp một mảng các đối tượng trong JavaScript bằng cách sử dụng Mảng tích hợp sẵn của chúng tôi. phương thức sắp xếp[] , tuy nhiên, chúng ta phải chuyển một hàm tùy chỉnh cho phương thức sắp xếp tích hợp của mình. Hàm này là cần thiết để so sánh các thuộc tính dựa trên đó chúng ta muốn sắp xếp mảng đối tượng của mình.

Làm cách nào để sắp xếp khóa đối tượng trong JavaScript?

Để sắp xếp các khóa của một đối tượng. .
Sử dụng đối tượng. keys[] để lấy một mảng các khóa của đối tượng
Gọi phương thức sort[] trên mảng
Gọi phương thức reduce[] để lấy một đối tượng với các phím được sắp xếp

Làm thế nào chúng ta có thể sắp xếp các phần tử của một đối tượng?

Lớp bộ sưu tập cung cấp các phương thức tĩnh để sắp xếp các thành phần của bộ sưu tập . Nếu các phần tử của bộ sưu tập thuộc loại Tập hợp, chúng ta có thể sử dụng TreeSet. Tuy nhiên, chúng ta không thể sắp xếp các phần tử của Danh sách. Lớp Collections cung cấp các phương thức sắp xếp các phần tử của các phần tử kiểu List.

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.

Chủ Đề