Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.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
Arrays 从对象数组获取数据_Arrays_Angular_Typescript - Fatal编程技术网

Arrays 从对象数组获取数据

Arrays 从对象数组获取数据,arrays,angular,typescript,Arrays,Angular,Typescript,从对象数组获取数据时遇到问题。。我的数据数组是这样的 我只想获取列表menuCode 组成部分 ngOnInit() { this.commonService.menuList$.subscribe(data => { this.menuCode = data; console.log(this.menuCode) }) } 如果我添加这样的代码this.menuCode=data['menuCode']我得到了这个错误TypeError

从对象数组获取数据时遇到问题。。我的数据数组是这样的

我只想获取列表
menuCode

组成部分

ngOnInit() {
    this.commonService.menuList$.subscribe(data => {
      this.menuCode =  data;
      console.log(this.menuCode)
     })
  }
如果我添加这样的代码
this.menuCode=data['menuCode']
我得到了这个错误
TypeError:无法读取null的属性'menuCode'。我应该怎么做才能得到
menuCode
list

编辑

服务

_getMenu() {
    this.loading.present();
    this.auth.getMenu()
    .pipe(take(1))
    .subscribe(
      res => {
        this.menuList$.next(res['menuList']);
        this.loading.dismiss();
      },
      error => {
        this.menuList$.next([]);
        this.loading.dismiss();
      }
    )
  }

您的res对象是一个对象数组。因此执行
res['menuCode']
将返回null,因为它在数组中不存在。因此,如果您想获得菜单代码列表,可以使用
map()
函数

_getMenu() {
    this.loading.present();
    this.auth.getMenu()
    .pipe(take(1))
    .subscribe(
      res => {
        this.menuList$.next(res.map(r => r.menuCode)); // here
        this.loading.dismiss();
      },
      error => {
        this.menuList$.next([]);
        this.loading.dismiss();
      }
    )
  }


你能添加commonService.menuList$logic吗?以及httpClient.get/post/delete/。。请问你的要求是什么?这可能是一个HttpEvent ping事件,而不是实际响应。在继续此假设之前,我希望先查看您的代码。同时尝试将
数据记录到控制台,以查看您是否确实得到了一些东西。我已添加commonService.menuList$,如您所愿..谢谢您的回答。。但是我得到了一个错误。
属性“map”在类型“Object”上不存在。
您问题中的控制台图片,是您的
console.log(this.menuCode)
?如果不是,这是从哪里来的?是的,是真的…我使用
console.log(this.menuCode)
像这样修改后,它工作
this.menuCodeList$.next(res['menuList'].map(r=>r.menuCode))