Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在数组的对象中将子类别设为数组_Javascript_Json_Typescript_Django Rest Framework - Fatal编程技术网

Javascript 在数组的对象中将子类别设为数组

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

我在做django休息和角度训练。此json数组来自服务器,包含类别和子类别值。 我的代码将在数组的单独键中创建类别和相关子类别。但我希望将子类别作为同一对象中对象中的数组保留

结果应该是这样的:

[{“标题”:“类别标题”,“子项”:[相关子项数组]},…]

霉菌代码:

  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"
        }
    ]