Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function systemRegister(array) {
- let systems=new Map();
- for(let element of array){
- let [elementName,componentName,subcomponentName]=element.split(` | `);
- if(!systems.has(elementName)){
- systems.set(elementName,{});
- systems.get(elementName)[componentName]=[];
- }else{
- if(!systems.get(elementName)[componentName]){
- systems.get(elementName)[componentName]=[];
- }
- }
- systems.get(elementName)[componentName].push(subcomponentName);
- }
- let result=Array.from(systems);
- result.sort((element1,element2)=>{
- return Object.keys(element2[1]).length-Object.keys(element1[1]).length || element1[0].toLowerCase().localeCompare(element2[0].toLowerCase())
- })
- Object.keys(result[0][1]).sort((comp1,comp2)=>{
- return Object.values(result[0][1][comp2]).length-Object.values(result[0][1][comp1]).length
- })
- for(let element of result){
- console.log(element[0])
- for(let component in element[1]){
- console.log(`|||${component}`);
- for(let subcomponent of element[1][component]){
- console.log(`||||||${subcomponent}`);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement