Angular 6订阅:无法读取未定义的属性“包含”

时间:2019-02-20 14:53:19

标签: javascript angular typescript

我试图找出服务返回的值是否在数组中。

我的component.ts文件中有此代码。

this.addressService.getPostcodeData(postcode)
    .subscribe((v) => {
       if (this.allowedLocalAreaCodes.includes(v.result.codes.admin_district)) {
        console.log('yes');
      }

但是,我得到了错误:

  

无法读取未定义的属性“包含”

如果我在if语句上方记录该值。我得到正确的代码。这将返回:

  

E07000179

如果我将其包装在if中,首先看是否有一个值,像这样:

 if (v.result.codes.admin_district) {
    console.log(v.result.codes.admin_district);
  }

我也得到:

  

E07000179

然后我这样做:

 if (v.result.codes.admin_district) {

    console.log(v.result.codes.admin_district);
    if (this.allowedLocalAreaCodes.includes(v.result.codes.admin_district)) {
        console.log('yes');
    }
  }

,我得到了错误。

由于某些原因,包含失败。有人知道为什么吗?

编辑:allowedLocalAreaCodes是:

allowedLocalAreaCodes = ['E06000028', 'E09000025', 'E09000030', 'E09000012', 'S12000036', 'S12000046'];

0 个答案:

没有答案