Advertisement
kstoyanov

04. Cars

Oct 12th, 2020
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function result(commands) {
  2.   const cars = new Map();
  3.   const carManager = (() => ({
  4.     create([name,, parent]) {
  5.       const car = Object.create(parent ? cars.get(parent) : null);
  6.       cars.set(name, car);
  7.     },
  8.     set([name, key, value]) {
  9.       const car = cars.get(name);
  10.       car[key] = value;
  11.     },
  12.     print([name]) {
  13.       const car = cars.get(name);
  14.       const props = [];
  15.       for (const prop in car) {
  16.         props.push(`${prop}:${car[prop]}`);
  17.       }
  18.       console.log(props.join(', '));
  19.     },
  20.   }))();
  21.  
  22.   commands.forEach((command) => {
  23.     const commandParameters = command.split(' ');
  24.     const action = commandParameters.shift();
  25.     carManager[action](commandParameters);
  26.   });
  27.  
  28.   return carManager;
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement