Inputs1
var aa = [
{
"id":1,
"name":"ajai",
"country":"india",
"qualification":"BE",
"age":23
},
{
"id":2,
"name":"aravindh",
"country":"india",
"qualification":"BCOM",
"age":24
},
{
"id":3,
"name":"gopal",
"country":"china",
"qualification":"MA",
"age":23
},
{
"id":4,
"name":"guvaliour",
"country":"china",
"qualification":"BE",
"age":24
},
{
"id":5,
"name":"anavarthan",
"country":"japan",
"qualification":"BE",
"age":25
},
{
"id":6,
"name":"veer",
"country":"china",
"qualification":"MA",
"age":23
},
{
"id":7,
"name":"ramani",
"country":"india",
"qualification":"BE",
"age":23
},
{
"id":8,
"name":"kumar",
"country":"india",
"qualification":"MBA",
"age":23
}
]
Input2
var bb = ['country','age','qualification']
На основе обоих входов я хочу сформировать массив объектов, используя этот требуемый формат.
Требуемый формат:
[
{
"id":"india",
"children":[
{
"id":"23",
"children":[
{
"id":"BE",
"children":[
],
"dataSet":[
{
"id":1,
"name":"ajai",
"country":"india",
"qualification":"BE",
"age":23
},
{
"id":7,
"name":"ramani",
"country":"india",
"qualification":"BE",
"age":23
}
]
},
{
"id":"MBA",
"children":[
],
"dataSet":[
{
"id":8,
"name":"kumar",
"country":"india",
"qualification":"MBA",
"age":23
}
]
}
]
},
{
"id":"24",
"children":[
{
"id":"BCOM",
"children":[
],
"dataSet":[
{
"id":2,
"name":"aravindh",
"country":"india",
"qualification":"BCOM",
"age":24
}
]
}
]
}
]
},
{
"id":"china",
"children":[
{
"id":"23",
"children":[
{
"id":"MA",
"children":[
],
"dataSet":[
{
"id":6,
"name":"veer",
"country":"china",
"qualification":"MA",
"age":23
},
{
"id":3,
"name":"gopal",
"country":"china",
"qualification":"MA",
"age":23
}
]
}
]
},
{
"id":"24",
"children":[
{
"id":"BE",
"children":[
],
"dataSet":[
{
"id":4,
"name":"guvaliour",
"country":"china",
"qualification":"BE",
"age":24
}
]
}
]
}
]
},
{
"id":"japan",
"children":[
{
"id":"25",
"children":[
{
"id":"BE",
"children":[
],
"dataSet":[
{
"id":5,
"name":"anavarthan",
"country":"japan",
"qualification":"BE",
"age":25
}
]
}
]
}
]
}
]
Я только что попытался сформировать этот требуемый формат, используя вход 1 и вход 2, но я боролся в течение дня. Пожалуйста, кто-нибудь может помочь мне решить эту проблему. Я использую это дерево для формирования таблицы группировки в Angular 6. Это что-то вроде рекурсивного.
что-то, что я пробовал вот так
var dd=[];
var aa = [
{
"id":1,
"name":"ajai",
"country":"india",
"qualification":"BE",
"age":23
},
{
"id":2,
"name":"aravindh",
"country":"india",
"qualification":"BCOM",
"age":24
},
{
"id":3,
"name":"gopal",
"country":"china",
"qualification":"MA",
"age":23
},
{
"id":4,
"name":"guvaliour",
"country":"china",
"qualification":"BE",
"age":24
},
{
"id":5,
"name":"anavarthan",
"country":"japan",
"qualification":"BE",
"age":25
},
{
"id":6,
"name":"veer",
"country":"china",
"qualification":"MA",
"age":23
},
{
"id":7,
"name":"ramani",
"country":"india",
"qualification":"BE",
"age":23
},
{
"id":8,
"name":"kumar",
"country":"india",
"qualification":"MBA",
"age":23
}
];
var bb = ['country','age','qualification'];
for(var i=0;i<aa.length;i++){
for(var j=0;j<bb.length;j++){
dd.push(this.formingArr(aa[i][bb[j]]))
}
}
console.log(dd);
}
formingArr(value){
let obj={
id:value,
children:[],
dataSet:[]
}
return obj;
}
мой результат:
[
{
"id": "india",
"children": [],
"dataSet": []
},
{
"id": 23,
"children": [],
"dataSet": []
},
{
"id": "BE",
"children": [],
"dataSet": []
},
{
"id": "india",
"children": [],
"dataSet": []
},
{
"id": 24,
"children": [],
"dataSet": []
},
{
"id": "BCOM",
"children": [],
"dataSet": []
},
{
"id": "china",
"children": [],
"dataSet": []
},
{
"id": 23,
"children": [],
"dataSet": []
},
{
"id": "MA",
"children": [],
"dataSet": []
},
{
"id": "china",
"children": [],
"dataSet": []
},
{
"id": 24,
"children": [],
"dataSet": []
},
{
"id": "BE",
"children": [],
"dataSet": []
},
{
"id": "japan",
"children": [],
"dataSet": []
},
{
"id": 25,
"children": [],
"dataSet": []
},
{
"id": "BE",
"children": [],
"dataSet": []
},
{
"id": "china",
"children": [],
"dataSet": []
},
{
"id": 23,
"children": [],
"dataSet": []
},
{
"id": "MA",
"children": [],
"dataSet": []
},
{
"id": "india",
"children": [],
"dataSet": []
},
{
"id": 23,
"children": [],
"dataSet": []
},
{
"id": "BE",
"children": [],
"dataSet": []
},
{
"id": "india",
"children": [],
"dataSet": []
},
{
"id": 23,
"children": [],
"dataSet": []
},
{
"id": "MBA",
"children": [],
"dataSet": []
}
]