Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function components(arr) {
- let map=new Map();
- for (let line of arr){
- let [system,component,subcomponent] = line.split(' | ').filter(e=>e!='');
- if(!map.has(system)){
- map.set(system,new Map());
- }
- if (!map.get(system).has(component)){
- map.get(system).set(component,new Array());
- }
- let subcomponents=map.get(system).get(component);
- subcomponents.push(subcomponent);
- map.get(system).set(component,subcomponents);
- }
- [...map].sort(sortSystems).forEach(([system,components])=>{
- console.log(system);
- [...components].sort((a,b) => a.length - b.length).forEach(([component,subcomponents])=> {
- console.log(`|||${component}`)
- subcomponents.forEach(sc => console.log(`||||||${sc}`))
- })
- });
- function sortSystems(a,b){
- if ([...a[1]].length > [...b[1]].length){
- return -1;
- } else if ([...a[1]].length < [...b[1]].length){
- return 1;
- } else {
- if (a[0] < b[0]){
- return -1;
- }else if(a[0] > b[0]){
- return 1;
- }else {
- return 0;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement