我正在尝试将本地存储值与数组索引进行比较

时间:2019-03-18 05:43:16

标签: angular

public getCountriesForBKVSVerification(){
    this.blockUserInterface();
  this.authenticationApiService.getCountriesForBKVSVerification().subscribe(success=>{
      this.unblockUserInterface();
      this.countries=success['data'];
      for(let i=0; i<this.countries.length; i++){
   if(localStorage.getItem('countryCode')==this.countries[i['countryCode']){

          this.router.navigate (['login']);
          break;
        } else{
          let type = localStorage.getItem("type")
          if(type == '4'){
            this.redirectUrl = this.prepareRedirectUrlFromLocalStorageForType4({error: true,
            errormessage: 'country code is not of valid format.'});
            const navigationExtras: NavigationExtras = { queryParams: {redirectUrl : this.redirectUrl ,
            errormessage: 'Invalid Wallet Address Attach Request.'} };
            this.router.navigate(['bkvs-verification-error'], navigationExtras);
            return this.redirectUrl;
          }
          this.redirectUrl = this.prepareRedirectUrlFromLocalStorage({error: true,
          errormessage: 'Country code is not of valid format.'});
          const navigationExtras: NavigationExtras = { queryParams: {redirectUrl : this.redirectUrl ,
          errormessage: 'Invalid Social KYC Verfication Request.'} };
          this.router.navigate(['bkvs-verification-error'], navigationExtras);
        }
      }
    }, error=>{
      this.unblockUserInterface();
    })
  }

在这种方法中,我正在获取国家/地区列表,并从某个或其他URL将国家/地区代码存储在本地存储中。因此,在if条件下,我正在使用country数组的索引检查该本地存储国家/地区代码。它始终与国家/地区数组的第一个索引进行比较。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

{count: count}

this.countries[i['countryCode'] 是循环中的当前索引。上面的代码行使用i作为数组。 i中没有属性countryCode,因为它是数字。

您可能需要执行以下操作:

i

此外,我记得,本地存储适用于字符串。类型比较要小心。