Digamos que tienes una clase de JavaScript como esta
var DepartmentFactory = function(data) {
this.id = data.Id;
this.name = data.DepartmentName;
this.active = data.Active;
}
Digamos que luego crea una serie de instancias de esa clase y las almacena en una matriz
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}));
Entonces ahora tendría una matriz de objetos creados por DepartmentFactory. ¿Cómo utilizaría el array.sort()método para ordenar esta matriz de objetos por la DepartmentNamepropiedad de cada objeto?
El array.sort()método funciona bien al ordenar una serie de cadenas
var myarray=["Bob", "Bully", "Amy"];
myarray.sort(); //Array now becomes ["Amy", "Bob", "Bully"]
Pero, ¿cómo hago para que funcione con una lista de objetos?
DepartmentFactorycomo constructor, cree sus objetos utilizando new DepartmentFactory, de lo contrario, la matriz se llenará con un montón de undefinedvalores.