2010-05-23 44 views
10

Tôi đang cố sắp xếp một array của objects với ActionScript 3.Sắp xếp một mảng các đối tượng trong ActionScript 3

Mảng là như thế này:

var arr:Array = new Array(); 
arr.push ({name:"John", date:"20080324", message:"Hi"}); 
arr.push ({name:"Susan", date:"20090528", message:"hello"}); 

tôi có thể làm điều gì đó với Array.sort(...) phương pháp?

+0

Bạn muốn sắp xếp các yếu tố như thế nào? – JeremyFromEarth

+0

Nó không quan trọng, chỉ tìm kiếm một phương pháp để sắp xếp mảng các đối tượng, tôi có thể sắp xếp cho ngày tháng hoặc tên, câu trả lời của Kenny là hoàn hảo, nó hoạt động hoàn hảo – vitto

Trả lời

15

Làm gì? Nếu bạn đang cố gắng, ví dụ: sắp xếp theo tên, sau đó ngày, sử dụng Array.sortOn.

arr.sortOn(['name', 'date']) 
5

khác vì sử dụng sortOn, mà sẽ làm việc cho các lĩnh vực như chuỗi và số, nếu bạn có các đối tượng khác hoặc logic phức tạp hơn, bạn có thể vượt qua một chức năng so sánh với phương pháp sort().

Chức năng so sánh của bạn sẽ được gọi bởi chức năng sắp xếp nhiều lần như cần thiết để sắp xếp mảng của bạn. Mỗi lần, nó sẽ chuyển tới hàm của bạn hai đối tượng mảng. Ở đây, bạn xác định cách hai đối tượng này sắp xếp và nói điều đó cho các chức năng sắp xếp bằng cách trả lại:

  • một số âm: nếu đối tượng đầu tiên đứng trước thứ hai
  • một số dương: nếu thứ hai đối tượng xuất hiện trước số đầu tiên
  • 0: nếu cả hai đối tượng có cùng thứ tự đơn đặt hàng.
Các vấn đề liên quan