我试图创建一个这样的集合,以便在react组件中使用:
let data = [
{
group : 'A',
children : [
{ name : 'Animals', id : 22 },
...
]
},
{
group : 'B', children : [
{ name : 'Batteries', id : 7},
{ name : 'Baggage', id : 12 },
...
]
},
{
group : 'C', children : [
{ name : 'Cake', id : 7},
...
]
},
]
我已经像这样对我的数据进行了排序:
let rawData = [
{ name : 'Animals', id : 10},
{ name : 'Batteries', id : 7},
{ name : 'Baggage', id : 12 },
{ name : 'Cake', id : 7},
...
]
我也使用了这种排序方法,但问题是,它返回一个带有A
, B
,C
键的对象作为值。但是我必须像上面那样把它变成数组才能使用它。
这是我到目前为止尝试过的:
let data = rawData.reduce(function(prevVal, newVal){
char = newVal.name[0].toUpperCase();
return { group: char, children :{name : newVal.name, id : newVal.id}};
},[])