Я создаю древовидную диаграмму для веб-приложения, где мне нужно передать данные в указанном формате.
У меня есть эти данные
let arr = [
{
"name": "jmd",
"aname": "Asset123",
"transformer_name": "IT1",
"RMU": "rmu1",
"feeder_name": "feeder",
"pooling_station": "ppp1",
"grid_name": "gggg1"
},
{
"name": "jmd",
"aname": "inv11",
"transformer_name": "itr11",
"RMU": "rmu11",
"feeder_name": "feeder3",
"pooling_station": "P2",
"grid_name": "sri"
}
]
Я пытался использовать приведенный ниже код
**
var results = _(arr)
.groupBy('name')
.reduce(function (array, children, key) {
array.push({
text: key,
children: children
});
return array;
},[]);
**
ожидаемый результат -
{
"name": "jmd",
"children": [
{
"name": "ppp1",
"children": [{
"name": "feeder",
"children": [{
"name": "rmu1",
"children": [{
"name": "IT1",
"children": [{
"aname": "Asset123"
}]
}]
}]
}],
},
{
"name": "P2",
"children": [{
"name": "feeder3",
"children": [{
"name": "rmu11",
"children": [{
"name": "itr11",
"children": [{
"aname": "inv11",
}]
}]
}]
}]
}
]
}
Используя приведенный выше код, я получаю этот результат -
[{
"text": "gggg1",
"children": [{
"name": "jmd",
"aname": "Asset123",
"transformer_name": "IT1",
"RMU": "rmu1",
"feeder_name": "feeder",
"pooling_station": "ppp1",
"grid_name": "gggg1"
}]
}, {
"text": "sri",
"children": [{
"name": "jmd",
"aname": "inv11",
"transformer_name": "itr11",
"RMU": "rmu11",
"feeder_name": "feeder3",
"pooling_station": "P2",
"grid_name": "sri"
}]
}]
Как сгруппировать несколько клавиш с помощью lodash?