Advertisement
TZinovieva

The Pianist JS Fundamentals

Mar 29th, 2023
574
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function thePianist(arr) {
  2.     let piecesNumber = arr.shift();
  3.     let pieceName = '';
  4.     let composer = '';
  5.     let key = '';
  6.     let pieces = {};
  7.  
  8.     for (let line = 0; line < piecesNumber; line++) {
  9.         let pieceInfo = arr.shift().split('|');
  10.         pieceName = pieceInfo[0];
  11.         composer = pieceInfo[1];
  12.         key = pieceInfo[2];
  13.         pieces[pieceName] = { composer: composer, key: key };
  14.     }
  15.     for (let line of arr) {
  16.         let tokens = line.split('|');
  17.         let command = tokens[0];
  18.         let pieceName = tokens[1];
  19.         let composer = tokens[2];
  20.         let key = tokens[3];
  21.  
  22.         if (command === "Add") {
  23.             if (pieces.hasOwnProperty(pieceName)) {
  24.                 console.log(`${pieceName} is already in the collection!`);
  25.             } else {
  26.                 pieces[pieceName] = { composer: composer, key: key }
  27.                 console.log(` ${pieceName} by ${composer} in ${key} added to the collection!`);
  28.             }
  29.         } else if (command === "Remove") {
  30.             if (pieces.hasOwnProperty(pieceName)) {
  31.                 delete pieces[pieceName];
  32.                 console.log(`Successfully removed ${pieceName}!`);
  33.             } else {
  34.                 console.log(`Invalid operation! ${pieceName} does not exist in the collection.`);
  35.             }
  36.         } else if (command === "ChangeKey") {
  37.             if (pieces.hasOwnProperty(pieceName)) {
  38.                 let newKey = tokens[2];
  39.                 pieces[pieceName].key = newKey;
  40.                 console.log(`Changed the key of ${pieceName} to ${newKey}!`);
  41.             } else {
  42.                 console.log(`Invalid operation! ${pieceName} does not exist in the collection.`);
  43.             }
  44.         } else if (command === "Stop") {
  45.             for (let pieceName in pieces) {
  46.                 let composer = pieces[pieceName].composer;
  47.                 let key = pieces[pieceName].key;
  48.                 console.log(`${pieceName} -> Composer: ${composer}, Key: ${key}`);
  49.             }
  50.         }
  51.     }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement