Załóżmy, że masz taką klasę JavaScript
var DepartmentFactory = function(data) {
this.id = data.Id;
this.name = data.DepartmentName;
this.active = data.Active;
}
Powiedzmy, że następnie tworzysz kilka instancji tej klasy i przechowujesz je w tablicy
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}));
Chciałbym teraz mieć tablicę obiektów utworzonych przez DepartmentFactory. Jak miałbym korzystać z array.sort()metody sortowania tej tablicy obiektów według DepartmentNamewłaściwości każdego obiektu?
array.sort()Metoda działa dobrze podczas sortowania tablica ciągów
var myarray=["Bob", "Bully", "Amy"];
myarray.sort(); //Array now becomes ["Amy", "Bob", "Bully"]
Ale jak sprawić, by działała z listą obiektów?
DepartmentFactoryjako konstruktora, twórz jego obiekty za pomocą new DepartmentFactory, w przeciwnym razie tablica zostanie wypełniona wiązką undefinedwartości.