【发布时间】:2014-10-16 16:02:33
【问题描述】:
这是我的 JavaScript 对象。我想要一种方法来动态生成按一个或多个属性分组的对象。参数attrs是一个数组,里面包含了一些用于分组的属性。
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 groupBy 函数应该有帮助:lodash.com/docs#groupBy
标签: javascript grouping