diff options
| author | Julie Lala <jules@okfoc.us> | 2014-04-17 10:08:34 -0400 |
|---|---|---|
| committer | Julie Lala <jules@okfoc.us> | 2014-04-17 10:09:43 -0400 |
| commit | af14fea4d7482d2a141add59e3127c1643b873de (patch) | |
| tree | c289dbf1d606dfcd6845977d49a0a20d1b5ae17d /assets/javascripts/rectangles/util/sort.js | |
| parent | 9a87e3a1a61b222097c7991edec5c2c94a6c4cae (diff) | |
etc
Diffstat (limited to 'assets/javascripts/rectangles/util/sort.js')
| -rw-r--r-- | assets/javascripts/rectangles/util/sort.js | 51 |
1 files changed, 34 insertions, 17 deletions
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] }) } |
