Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.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 如何访问angular 4中另一个对象数组中的对象数组_Javascript_Arrays_Angular_Typescript_Foreach - Fatal编程技术网

Javascript 如何访问angular 4中另一个对象数组中的对象数组

Javascript 如何访问angular 4中另一个对象数组中的对象数组,javascript,arrays,angular,typescript,foreach,Javascript,Arrays,Angular,Typescript,Foreach,我有一个api响应,返回以下内容: { "code": 0, "message": "hierarchy list", "payload": [ { "id": 2, "name": "nameParent", "code": "WUcw", "childsOfPayload": [ { "id": 5, "name": "NameChild1", "code": "ozyW", "status": "Active",

我有一个api响应,返回以下内容:

{
"code": 0,
"message": "hierarchy list",
"payload": [

{
  "id": 2,
  "name": "nameParent",
  "code": "WUcw",
  "childsOfPayload": [
    {
      "id": 5,
      "name": "NameChild1",
      "code": "ozyW",
      "status": "Active",
      "childsofChildOfPayload": [
        {
          "id": 8,
          "name": "NameChild2",
          "code": "aitq",
          "order": 30,

        },
 ]}]}]}
manipulateDataa() {
this.values.subscribe(x => { 
x.payload.foreach((y:any) => { 
  y.childs.foreach((z:any) => { 
    console.log( z.name) 
   }) 
  })
 })
}
我正在尝试获取每个childs、ChildOfPayload和childOfChildOfpayload中的不同对象

manipulateDataa() {
this.values.subscribe(x => { 
x.payload.foreach((y:any) => { 
  y.childs.foreach((z:any) => { 
    console.log( z.name) 
   }) 
  })
 })
}
首先,我返回了负载的不同名称值:

    getAllPayloadName() {
   this.userService.getName().subscribe(
    data => {
    this.values= data;
   }
 );
manipulateDataa() {
this.values.subscribe(x => { 
x.payload.foreach((y:any) => { 
  y.childs.foreach((z:any) => { 
    console.log( z.name) 
   }) 
  })
 })
}
}

manipulateDataa() {
this.values.subscribe(x => { 
x.payload.foreach((y:any) => { 
  y.childs.foreach((z:any) => { 
    console.log( z.name) 
   }) 
  })
 })
}
但是我必须做些什么才能使每个子项的名称与不同的父项值关联

manipulateDataa() {
this.values.subscribe(x => { 
x.payload.foreach((y:any) => { 
  y.childs.foreach((z:any) => { 
    console.log( z.name) 
   }) 
  })
 })
}
我是说在这种情况下

       NameChild1 
       NameChild2 
manipulateDataa() {
this.values.subscribe(x => { 
x.payload.foreach((y:any) => { 
  y.childs.foreach((z:any) => { 
    console.log( z.name) 
   }) 
  })
 })
}
我试过这个:

manipulateDataa() {
this.values.subscribe(x => { 
x.payload.foreach((y:any) => { 
  y.childs.foreach((z:any) => { 
    console.log( z.name) 
   }) 
  })
 })
}

然后在getAllPayloadName中调用它,但仍然不起作用。可能有什么问题?

如果api结果结构为强类型且不会更改,则可以通过此行访问子负载名称

manipulateDataa() {
this.values.subscribe(x => { 
x.payload.foreach((y:any) => { 
  y.childs.foreach((z:any) => { 
    console.log( z.name) 
   }) 
  })
 })
}
    console.log(JSON.stringify(obj.payload[0].childsOfPayload[0].name));
    console.log(JSON.stringify(obj.payload[0].childsOfPayload[0].childsofChildOfPayload[0].name));

您可以这样做以获得所需的输出。您可以阅读更多关于我使用的forEach循环的信息。
数据={
“代码”:0,
“消息”:“层次结构列表”,
“有效载荷”:[
{
“id”:2,
“名称”:“名称父项”,
“代码”:“WUcw”,
“儿童基金会”:[
{
“id”:5,
“姓名”:“NameChild1”,
“代码”:“ozyW”,
“状态”:“活动”,
“支付费用的子女”:[
{
“id”:8,
“姓名”:“NameChild2”,
“代码”:“aitq”,
“命令”:30,
},
]}]}]}
名称=[]
函数迭代器(obj,namesArr){
Object.keys(obj.forEach)(key=>{
如果(键==“名称”){
namesArr.push(对象[键])
}else if(对象的类型[键]=“对象”){
迭代器(obj[key][0],名称)
}
})
}
迭代器(data.payload[0],名称)
console.log(名称)

谢谢。但是我很抱歉,这不是我想要的输出,我想要每个名称的父项及其关联的子项名称。@G.Ab请在输出中发布您期望的内容。我想要类似这样的内容:console.log(“父项名称”+父项名称+“it'schild”+其子项名称的值(这里类似于示例,NameChild1)+“谁有子项”+第二个子项的名称值(NameChild2)…并且,每次我添加另一个具有不同子项的父项名称时,我必须有一个输出,该输出将为我提供具有其子项值的父项。。