Disons que vous avez une classe JavaScript comme celle-ci
var DepartmentFactory = function(data) {
this.id = data.Id;
this.name = data.DepartmentName;
this.active = data.Active;
}
Disons que vous créez ensuite un certain nombre d'instances de cette classe et les stockez dans un tableau
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}));
J'aurais donc maintenant un tableau d'objets créés par DepartmentFactory. Comment pourrais-je utiliser la array.sort()méthode pour trier ce tableau d'objets par la DepartmentNamepropriété de chaque objet?
La array.sort()méthode fonctionne très bien lors du tri d'un tableau de chaînes
var myarray=["Bob", "Bully", "Amy"];
myarray.sort(); //Array now becomes ["Amy", "Bob", "Bully"]
Mais comment le faire fonctionner avec une liste d'objets?
DepartmentFactorycomme constructeur, créez ses objets en utilisant new DepartmentFactory, sinon le tableau sera rempli avec un tas de undefinedvaleurs.