Advertisement
kstoyanov

10. Systems Register js fundamentals

Jul 4th, 2020
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function systemRegister(args) {
  2.   const sysRegister = {};
  3.   args.forEach((element) => {
  4.     const [systemName, componentName, subcomponentName] = element.split(' | ');
  5.  
  6.  
  7.     if (!Object.prototype.hasOwnProperty.call(sysRegister, systemName)) {
  8.       sysRegister[systemName] = {};
  9.     }
  10.  
  11.     if (!Object.prototype.hasOwnProperty.call(sysRegister[systemName], componentName)) {
  12.       sysRegister[systemName][componentName] = [];
  13.     }
  14.  
  15.     sysRegister[systemName][componentName].push(subcomponentName);
  16.   });
  17.  
  18.   const sysRegisterSorted = Object.keys(sysRegister).sort((a, b) => Object.keys(sysRegister[b]).length - Object.keys(sysRegister[a]).length || a.localeCompare(b));
  19.  
  20.   sysRegisterSorted.forEach((key) => {
  21.     console.log(key);
  22.     const subKeysSort = Object.keys(sysRegister[key]).sort((a, b) => Object.keys(sysRegister[key][b]).length - Object.keys(sysRegister[key][a]).length);
  23.     subKeysSort.forEach((element) => {
  24.       console.log(`|||${element}`);
  25.       sysRegister[key][element].forEach((subComp) => {
  26.         console.log(`||||||${subComp}`);
  27.       });
  28.     });
  29.   });
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement