Advertisement
Guest User

SoftUni Course Planning

a guest
Apr 18th, 2019
306
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. function solve(arr) {
  3.     let lessons = arr.shift().split(', ');
  4.     for (let i = 0; i < arr.length; i++) {
  5.         let splited = arr[i].split(':');
  6.         let command = splited[0];
  7.         let lessonTitle = splited[1];
  8.         switch (command) {
  9.             case 'Add':
  10.                 if (!lessons.includes(lessonTitle)) {
  11.                     lessons.push(lessonTitle);
  12.                 }
  13.                 break;
  14.             case 'Insert':
  15.                 let insertIndex = Number(splited[2]);
  16.                 if ((!lessons.includes(lessonTitle))
  17.                  && insertIndex <= lessons.length ) {
  18.                     lessons.splice(insertIndex,0,lessonTitle);
  19.                 }
  20.                 break;
  21.             case 'Remove':
  22.                 if (lessons.includes(lessonTitle)
  23.                  && lessons.includes(`${lessonTitle}-Exercise`)) {
  24.                     let indexOfTitle = lessons.indexOf(lessonTitle);
  25.                     lessons.splice(indexOfTitle,2);
  26.                 }
  27.                 else if(lessons.includes(lessonTitle)){
  28.                     let indexOfTitle = lessons.indexOf(lessonTitle);
  29.                     lessons.splice(indexOfTitle,1);
  30.                 }
  31.                 break;
  32.             case 'Swap':
  33.             let lessonTitle2 = splited[2];
  34.             let indexOfTitle = lessons.indexOf(lessonTitle);
  35.             let indexOfTitle2 = lessons.indexOf(lessonTitle2);
  36.             if (lessons.includes(`${lessonTitle2}-Exercise`)) {
  37.                 let lessonTitle3 = lessons[indexOfTitle2+1];
  38.                 lessons.splice(indexOfTitle,1,lessonTitle2,lessonTitle3);
  39.                 lessons.splice(indexOfTitle2+1,2,lessonTitle);
  40.             }
  41.             else if(lessons.includes(lessonTitle) && lessons.includes(lessonTitle2)) {
  42.                 lessons.splice(indexOfTitle,1,lessonTitle2);
  43.                 lessons.splice(indexOfTitle2,1,lessonTitle)
  44.             }
  45.                 break;
  46.             case 'Exercise':
  47.             let indexOfElement = lessons.indexOf(lessonTitle);
  48.             if (lessons.includes(lessonTitle)
  49.             && !lessonTitle.includes('-Exercise')) {
  50.                 lessons.splice(indexOfElement,0,`${lessonTitle}-Exercise`)
  51.             }
  52.             else{
  53.                 lessons.push(lessonTitle)
  54.                 lessons.push(`${lessonTitle}-Exercise`)
  55.             }
  56.                 break;
  57.                 case 'course start':
  58.                 for (let j = 0; j < lessons.length; j++) {
  59.                     console.log(`${j+1}.${lessons[j]}`);
  60.                 }
  61.                 break;
  62.             default:
  63.                 break;
  64.         }
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement