From af14fea4d7482d2a141add59e3127c1643b873de Mon Sep 17 00:00:00 2001 From: Julie Lala Date: Thu, 17 Apr 2014 10:08:34 -0400 Subject: etc --- assets/javascripts/rectangles/util/sort.js | 51 ++++++++++++++++++++---------- 1 file changed, 34 insertions(+), 17 deletions(-) (limited to 'assets/javascripts/rectangles/util/sort.js') diff --git a/assets/javascripts/rectangles/util/sort.js b/assets/javascripts/rectangles/util/sort.js index 8ece95f..673b3cc 100644 --- a/assets/javascripts/rectangles/util/sort.js +++ b/assets/javascripts/rectangles/util/sort.js @@ -1,12 +1,4 @@ -function sort_rooms_by_position(list){ - return list.sort(function(a,b){ - return compare_rect_position(a.rect, b.rect) - }) -} -function sort_rects_by_position(list){ - return list.sort(compare_rect_position) -} function compare_rect_position(a,b){ if (a.x.a < b.x.a) { @@ -24,14 +16,39 @@ function compare_rect_position(a,b){ return 0 } +function compare_rect_area (a,b){ + if (a[0] < b[0]) { + return 1 + } + if (a[0] > b[0]) { + return -1 + } + return 0 +} + + +function sort_rooms_by_id(list){ + return list.sort(function(a,b){ + return a.id < b.id ? -1 : a.id == b.id ? 0 : 1 + }) +} +function sort_rooms_by_position(list){ + return list.sort(function(a,b){ + return compare_rect_position(a.rect, b.rect) + }) +} +function sort_rooms_by_area(list){ + return list.map(function(r){ return [r.rect.area(), r] }) + .sort(compare_rect_area) + .map(function(r){ return r[1] }) +} + + +function sort_rects_by_position(list){ + return list.sort(compare_rect_position) +} function sort_rects_by_area(list){ - return list.map(function(r){ return [r.area(), r] }).sort(function(a,b){ - if (a[0] < b[0]) { - return 1 - } - if (a[0] > b[0]) { - return -1 - } - return 0 - }).map(function(r){ return r[1] }) + return list.map(function(r){ return [r.area(), r] }) + .sort(compare_rect_area) + .map(function(r){ return r[1] }) } -- cgit v1.2.3-70-g09d2