Digamos que usted tiene una clase javascript como estoJavascript - clasificar objetos en una matriz en orden alfabético en una propiedad de la matriz
var DepartmentFactory = function(data) {
this.id = data.Id;
this.name = data.DepartmentName;
this.active = data.Active;
}
Digamos que a continuación, crea un número de instancias de esa clase y almacenarlos en una gama
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}));
Así que ahora tendría una gran variedad de objetos creados por DepartmentFactory
. ¿Cómo voy a utilizar el método array.sort()
para ordenar esta matriz de objetos por la propiedad DepartmentName
de cada objeto?
El método array.sort()
funciona bien cuando se clasifica una matriz de cadenas
var myarray=["Bob", "Bully", "Amy"];
myarray.sort(); //Array now becomes ["Amy", "Bob", "Bully"]
Pero, ¿cómo hacer que funcione con una lista de los objetos?
Puede pasar una función de clasificación como primer argumento para .sort(). –
Dado que está utilizando 'DepartmentFactory' como constructor, cree sus objetos usando' new DepartmentFactory'; de lo contrario, la matriz se rellenará con un conjunto de valores 'undefined'. – Anurag