Advertisement
Guest User

Untitled

a guest
Oct 26th, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.57 KB | None | 0 0
  1. var numbers = [1,2,3,4,5,6,7,8,9,20,21,22,98,99,100,220,221];
  2.  
  3. function ranges(numbers){
  4. var sorted = numbers.sort(function(a,b){return a-b;});
  5. var first = sorted.shift();
  6. return sorted.reduce(function(ranges, num){
  7. if(num - ranges[0][1] <= 1){
  8. ranges[0][1] = num;
  9. } else {
  10. ranges.unshift([num,num]);
  11. }
  12. return ranges;
  13. },[[first,first]]).map(function(ranges){
  14. return ranges[0] === ranges[1] ?
  15. ranges[0].toString() : ranges.join('-');
  16. }).reverse();
  17. }
  18.  
  19. alert(ranges(numbers));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement