従業員のサブ部門と、特定の部門内のサブ部門の優先度を比較してソートされた従業員情報の配列があります。
そのため、従業員名がインデックスでクリックされると、その部門 (データ属性として保存されます) を使用して、その部門を共有する他のすべての従業員が取得され、このコレクションは、別の配列で手動で設定されたサブ部門の優先度によって並べ替えられます。
var results = $.grep(data, function(employee) {
if(employee.DEPT == dept) {
return employee.DEPT = dept;
}
});
// ** NOTE 'deptorder' is "Department" : [ "Subdepartment1", "Subdepartment2" ] defined manually
// pick the order of subdepts based on the dept
order = deptorder[dept];
最初の並べ替え:
results.sort(function(a, b) {
return $.inArray(a.SUBDEPT, order) - $.inArray(b.SUBDEPT, order);
});
次に、並べ替えられた配列を調べて、従業員情報のグリッドを作成し、セクション ヘッダーで従業員をサブ部門別に分割します。
問題: 従業員をサブ部門グループに分類した後、各サブ部門内で従業員を配置する必要があります。これを行う方法についての提案は受け付けていますが、必要なのは「マネージャー」にフラグを立てて、特定のサブ部門のグリッドで最初にすることだけです. マネージャーがレンダリングされた後、残りはアルファベット順などに分類できます。
これを達成するために、配列をもう一度ソートするにはどうすればよいですか? 現在、マネージャには employee.MANAGER 属性「1」があり、残りのマネージャには「」があります。
私はもう試した
results.sort(function(a, b) {
return (a.MANAGER == 1) - b;
});
しかし、これは機能しません。上記の並べ替えは、並べ替えに関する私の最初で唯一の経験です。どんな助けでも大歓迎です!