J'essaie de trier un tableau avec des objets basés sur plusieurs attributs. Par exemple, si le premier attribut est identique entre deux objets, un deuxième attribut doit être utilisé pour comparer les deux objets. Par exemple, considérons le tableau suivant:
var patients = [
[{name: 'John', roomNumber: 1, bedNumber: 1}],
[{name: 'Lisa', roomNumber: 1, bedNumber: 2}],
[{name: 'Chris', roomNumber: 2, bedNumber: 1}],
[{name: 'Omar', roomNumber: 3, bedNumber: 1}]
];
En les triant selon l'attribut roomNumber
, j'utiliserais le code suivant:
var sortedArray = _.sortBy(patients, function(patient) {
return patient[0].roomNumber;
});
Cela fonctionne bien, mais comment puis-je procéder pour que «John» et «Lisa» soient triés correctement?