Supponiamo che tu abbia una classe JavaScript come questa
var DepartmentFactory = function(data) {
this.id = data.Id;
this.name = data.DepartmentName;
this.active = data.Active;
}
Supponiamo che tu crei un numero di istanze di quella classe e le memorizzi in un array
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}));
Quindi ora avrei una serie di oggetti creati da DepartmentFactory. Come farei usando il array.sort()metodo per ordinare questo array di oggetti in base alla DepartmentNameproprietà di ciascun oggetto?
Il array.sort()metodo funziona perfettamente quando si ordina una matrice di stringhe
var myarray=["Bob", "Bully", "Amy"];
myarray.sort(); //Array now becomes ["Amy", "Bob", "Bully"]
Ma come faccio a farlo funzionare con un elenco di oggetti?
DepartmentFactorycome costruttore, crea i suoi oggetti usando new DepartmentFactory, altrimenti l'array verrà riempito con un mucchio di undefinedvalori.