Hãy nói rằng bạn có một lớp javascript như thế nàyJavascript - loại đối tượng trong một mảng theo thứ tự abc trên một tài sản của mảng
var DepartmentFactory = function(data) {
this.id = data.Id;
this.name = data.DepartmentName;
this.active = data.Active;
}
Hãy nói rằng sau đó bạn tạo ra một số trường hợp của lớp đó và lưu trữ chúng trong một mảng
var objArray = [];
objArray.push(DepartmentFactory({Id: 1, DepartmentName: 'Marketing', Active: true}));
objArray.push(DepartmentFactory({Id: 2, DepartmentName: 'Sales', Active: true}));
objArray.push(DepartmentFactory({Id: 3, DepartmentName: 'Development', Active: true}));
objArray.push(DepartmentFactory({Id: 4, DepartmentName: 'Accounting', Active: true}));
Vì vậy, bây giờ tôi sẽ có một loạt các đối tượng được tạo bởi DepartmentFactory
. Làm thế nào tôi sẽ đi về bằng cách sử dụng phương pháp array.sort()
để sắp xếp mảng này của các đối tượng của các tài sản DepartmentName
của từng đối tượng?
Phương pháp array.sort()
chỉ hoạt động tốt khi sắp xếp một mảng của chuỗi
var myarray=["Bob", "Bully", "Amy"];
myarray.sort(); //Array now becomes ["Amy", "Bob", "Bully"]
Nhưng làm thế nào để làm cho nó làm việc với một danh sách các đối tượng?
Bạn có thể chuyển hàm sắp xếp làm đối số đầu tiên cho .sort(). –
Vì bạn đang sử dụng 'DepartmentFactory' làm một hàm tạo, hãy tạo các đối tượng của nó bằng cách sử dụng' new DepartmentFactory', nếu không mảng sẽ được lấp đầy với một loạt các giá trị 'undefined'. – Anurag