Вот мой объект JavaScript. Я хочу иметь метод для динамического создания объекта, сгруппированного по одному или нескольким атрибутам. Параметр attrs
представляет собой массив, который содержит некоторые атрибуты для группировки.javascript объект, сгруппированный по нескольким атрибутам с помощью js
var input= [
{fistname:'Joe', age:'10', sex:'boy', class:'3'},
{fistname:'Tom', age:'11', sex:'boy', class:'3'},
{fistname:'Amily', age:'10', sex:'girl', class:'3'},
{fistname:'Bob', age:'11', sex:'boy',class:'4'},
{fistname:'Susan', age:'12', sex:'girl', class:'4'}
]
var attrs = ['age', 'class'];
function json2group(input, attrs){...}
Результат:
[
{
label:'10',
groups:[
{
label:'3',
groups:[
{fistname:'Joe', age:'10', sex:'boy', class:'3'},
{fistname:'Amily', age:'10', sex:'girl', class:'3'}
]
}
]
},
{
label:'11',
groups:[
{
label:'3',
groups:[
{fistname:'Tom', age:'11', sex:'boy', class:'3'}
]
},
{
label:'4',
groups:[
{fistname:'Bob', age:'11', sex:'boy',class:'4'}
]
}
]
},
{
label:'12',
groups:[
{
label:'4',
groups:[
{fistname:'Susan', age:'12', sex:'girl', class:'4'}
]
}
]
}
]
Пожалуйста, помогите мне.
Функция группеПо lodash должно помочь: https://lodash.com/docs#groupBy – Oliver