Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve(arr) {
- let lessons = arr.shift().split(', ');
- for (let i = 0; i < arr.length; i++) {
- let splited = arr[i].split(':');
- let command = splited[0];
- let lessonTitle = splited[1];
- switch (command) {
- case 'Add':
- if (!lessons.includes(lessonTitle)) {
- lessons.push(lessonTitle);
- }
- break;
- case 'Insert':
- let insertIndex = Number(splited[2]);
- if ((!lessons.includes(lessonTitle))
- && insertIndex <= lessons.length ) {
- lessons.splice(insertIndex,0,lessonTitle);
- }
- break;
- case 'Remove':
- if (lessons.includes(lessonTitle)
- && lessons.includes(`${lessonTitle}-Exercise`)) {
- let indexOfTitle = lessons.indexOf(lessonTitle);
- lessons.splice(indexOfTitle,2);
- }
- else if(lessons.includes(lessonTitle)){
- let indexOfTitle = lessons.indexOf(lessonTitle);
- lessons.splice(indexOfTitle,1);
- }
- break;
- case 'Swap':
- let lessonTitle2 = splited[2];
- let indexOfTitle = lessons.indexOf(lessonTitle);
- let indexOfTitle2 = lessons.indexOf(lessonTitle2);
- if (lessons.includes(`${lessonTitle2}-Exercise`)) {
- let lessonTitle3 = lessons[indexOfTitle2+1];
- lessons.splice(indexOfTitle,1,lessonTitle2,lessonTitle3);
- lessons.splice(indexOfTitle2+1,2,lessonTitle);
- }
- else if(lessons.includes(lessonTitle) && lessons.includes(lessonTitle2)) {
- lessons.splice(indexOfTitle,1,lessonTitle2);
- lessons.splice(indexOfTitle2,1,lessonTitle)
- }
- break;
- case 'Exercise':
- let indexOfElement = lessons.indexOf(lessonTitle);
- if (lessons.includes(lessonTitle)
- && !lessonTitle.includes('-Exercise')) {
- lessons.splice(indexOfElement,0,`${lessonTitle}-Exercise`)
- }
- else{
- lessons.push(lessonTitle)
- lessons.push(`${lessonTitle}-Exercise`)
- }
- break;
- case 'course start':
- for (let j = 0; j < lessons.length; j++) {
- console.log(`${j+1}.${lessons[j]}`);
- }
- break;
- default:
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement