Liliana797979

sistems register2 - fundamentals

Jul 3rd, 2021
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(input) {
  2.     let register = {};
  3.     for (let line of input) {
  4.         let [systemName, componentName, subcomponentName] = line.split(' | ');      
  5.         if (!register.hasOwnProperty(systemName)) {
  6.             register[systemName] = {};
  7.         }
  8.         if (!register[systemName].hasOwnProperty(componentName)) {
  9.             register[systemName][componentName] = [];
  10.         }
  11.         register[systemName][componentName].push(subcomponentName);
  12.     }
  13.     let sortedKeys = Object.keys(register).sort((a, b) => Object.keys(register[b]).length - Object.keys(register[a]).length || a.localeCompare(b));
  14.     sortedKeys.forEach((key) => {
  15.         console.log(key);
  16.         let sortedSubKeys = Object.keys(register[key]).sort((a, b) => Object.keys(register[key][b]).length - Object.keys(register[key][a]).length);
  17.         sortedSubKeys.forEach((subKey) => {
  18.             console.log(`|||${subKey}`);
  19.             register[key][subKey].forEach((subComponent) => {
  20.                 console.log(`||||||${subComponent}`);              
  21.             });        
  22.         });
  23.     });
  24. }
Advertisement
Add Comment
Please, Sign In to add comment