Advertisement
Guest User

Untitled

a guest
Feb 19th, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. function compressed(arr) {
  2. const sortedArr = arr.sort((a, b) => a - b);
  3. let result = "";
  4. let isAdding = false;
  5. let latestLoop = false;
  6. for (let i = 0; i < sortedArr.length; i++) {
  7. const resultElement = sortedArr[i];
  8. const nextResult = sortedArr[i + 1];
  9. if ( nextResult === undefined) {
  10. latestLoop = true;
  11. result += resultElement;
  12. }
  13. if (resultElement + 1 === nextResult && !isAdding && !latestLoop) { // the first init
  14. result += resultElement;
  15. result += "-";
  16. isAdding = true;
  17. }
  18. if (isAdding && resultElement + 1 !== nextResult && !latestLoop) { // last element
  19. result += resultElement;
  20. result += ",";
  21. isAdding = false;
  22. }
  23. if (!isAdding && resultElement + 1 !== nextResult && !latestLoop) {
  24. result += resultElement;
  25. result += ",";
  26. }
  27. }
  28. return result;
  29. }
  30.  
  31. console.log(compressed([3, 2, 1, 5, 6, -1, 10]));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement