Ich versuche, eine Sammlung von Modellen nach einem Erstellungsdatum oder einer Priorität zu sortieren, die von einem Benutzer ausgewählt werden können.
Die Priorität kann entweder in absteigender oder aufsteigender Reihenfolge gewählt werden, wobei die Modelle dann weiter nach Erstellungsdatum in absteigender Reihenfolge geordnet werden.
Das Erstellungsdatum kann auch in absteigender oder aufsteigender Reihenfolge ausgewählt werden, ohne weitere Unterordnung.
Im Folgenden finden Sie den Code, den ich bisher habe:
comparator: function(task) {
var sorter = task.get(root.sortAttr);
var subSorter = String.fromCharCode.apply(String,
_.map(task.get("created_at").split(""), function (c) {
return 0xffff - c.charCodeAt();
})
);
if(!root.sortAscending) {
console.log("desc");
return -sorter + ", " + subSorter;
}
else {
console.log("asc");
return sorter + ", " + subSorter;
}
}
Dieser Code funktioniert sowohl bei aufsteigender als auch bei absteigender Reihenfolge des Erstellungsdatums, zeigt die Prioritäten aber immer nur in absteigender Reihenfolge an. Kann mir jemand sagen, warum dies der Fall ist und was ich tun kann, um das zu beheben?