- const a_time = a_result && !a_result.forfeit ? a_result.time : 0;
- const b_time = b_result && !b_result.forfeit ? b_result.time : 0;
- if (a_time) {
- if (b_time) {
- if (a_time < b_time) return -1;
- if (b_time < a_time) return 1;
- return 0;
- }
- return -1;
- }
- if (b_time) {
- return 1;
- }
- const a_forfeit = a_result && a_result.forfeit;
- const b_forfeit = b_result && b_result.forfeit;
- if (a_forfeit) {
- if (b_forfeit) {
- return 0;
+ const a_placement = a_result && a_result.placement ? a_result.placement : 0;
+ const b_placement = b_result && b_result.placement ? b_result.placement : 0;
+ if (a_placement) {
+ if (b_placement) {
+ if (a_placement < b_placement) return -1;
+ if (b_placement < a_placement) return 1;
+ return compareUsername(a, b);