diff options
Diffstat (limited to 'assets/javascripts/rectangles/util/sort.js')
| -rw-r--r-- | assets/javascripts/rectangles/util/sort.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/assets/javascripts/rectangles/util/sort.js b/assets/javascripts/rectangles/util/sort.js new file mode 100644 index 0000000..8ece95f --- /dev/null +++ b/assets/javascripts/rectangles/util/sort.js @@ -0,0 +1,37 @@ +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) { + return -1 + } + if (a.x.a > b.x.a) { + return 1 + } + if (a.y.a < b.y.a) { + return -1 + } + if (a.y.a > b.y.a) { + return 1 + } + return 0 +} + +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] }) +} |
