Advertisement
ReutenkoIvan

DayOutput

Oct 10th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. days = {
  2.   Monday: {},
  3.   Tuesday: {},
  4.   Wednesday: {},
  5.   Friday: {},
  6.   Sunday: {}
  7. }
  8.  
  9. const WEEK = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
  10.  
  11. const result = [[]];
  12.  
  13. let lastIndex
  14.  
  15. for (let day in days) {
  16.   const currentIndex = WEEK.findIndex(d => d === day);
  17.   if (!lastIndex || lastIndex + 1 === currentIndex) {
  18.     result[result.length - 1].push(day)
  19.   } else {
  20.     result.push([day])
  21.   };
  22.  
  23.   lastIndex = currentIndex;
  24. }
  25.  
  26. console.log(
  27.   result.map(group => {
  28.     if (group.length > 1) {
  29.       return [group[0], group.pop()].join('-')
  30.     }
  31.  
  32.     return group
  33.   }).join(' and ')
  34. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement