Digamos que você tenha uma classe JavaScript como esta
var DepartmentFactory = function(data) {
this.id = data.Id;
this.name = data.DepartmentName;
this.active = data.Active;
}
Digamos que você crie várias instâncias dessa classe e as armazene em uma 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}));
Então agora eu teria uma matriz de objetos criados por DepartmentFactory. Como eu usaria o array.sort()método para classificar essa matriz de objetos pela DepartmentNamepropriedade de cada objeto?
O array.sort()método funciona bem ao classificar uma matriz de strings
var myarray=["Bob", "Bully", "Amy"];
myarray.sort(); //Array now becomes ["Amy", "Bob", "Bully"]
Mas como faço para funcionar com uma lista de objetos?
DepartmentFactorycomo construtor, crie seus objetos usando new DepartmentFactory, caso contrário, a matriz será preenchida com vários undefinedvalores.