Javascript 在数组的对象中将子类别设为数组
我在做django休息和角度训练。此json数组来自服务器,包含类别和子类别值。 我的代码将在数组的单独键中创建类别和相关子类别。但我希望将子类别作为同一对象中对象中的数组保留 结果应该是这样的:Javascript 在数组的对象中将子类别设为数组,javascript,json,typescript,django-rest-framework,Javascript,Json,Typescript,Django Rest Framework,我在做django休息和角度训练。此json数组来自服务器,包含类别和子类别值。 我的代码将在数组的单独键中创建类别和相关子类别。但我希望将子类别作为同一对象中对象中的数组保留 结果应该是这样的: [{“标题”:“类别标题”,“子项”:[相关子项数组]},…] 霉菌代码: public data = SERVERRESPONE; public categories = []; this.data.filter(c => c.parent_id === null).ma
[{“标题”:“类别标题”,“子项”:[相关子项数组]},…]
霉菌代码:
public data = SERVERRESPONE;
public categories = [];
this.data.filter(c => c.parent_id === null).map(c => <{ title: {}; subcategories: {} }>{
title: {"title":c.title},
subcategories: this.data.filter(sc => sc.parent_id === c.cat_id).map(sc => sc.title)
}).forEach(c => {
this.categories.push([c.title, [c.subcategories]]);
});
这是一个很好的问题,但它有非常简单的解决办法
const数组=[
{
“id”:5,
“cat_id”:0,
“父项id”:空,
“标题”:“web开发”
},
{
“id”:6,
“cat_id”:1,
“父项id”:空,
“标题”:“android开发”
},
{
“id”:7,
“cat_id”:空,
“父项id”:0,
“标题”:“php”
},
{
“id”:8,
“cat_id”:空,
“家长id”:1,
“标题”:“java”
}
]
让结果=[]
for(数组的let键){
if(key.parent_id==null){
让new_key=key,
sub=[]
for(让数组的迭代器)
if(iterator.parent\u id==key.cat\u id)
sub.push(迭代器)
新建_key.sub=sub
结果。按下(新_键)
}
}
console.log(结果)
[
{
"id": 5,
"cat_id": 0,
"parent_id": null,
"title": "web development"
},
{
"id": 6,
"cat_id": 1,
"parent_id": null,
"title": "android development"
},
{
"id": 7,
"cat_id": null,
"parent_id": 0,
"title": "php"
},
{
"id": 8,
"cat_id": null,
"parent_id": 1,
"title": "java"
}
]