Arrays Typescript:错误TypeError:无法设置属性';[变量]';未定义的

Arrays Typescript:错误TypeError:无法设置属性';[变量]';未定义的,arrays,angular,typescript,error-handling,Arrays,Angular,Typescript,Error Handling,我有一个loginda对象数组,其中一个属性是email。下面的函数接受一个字符串参数,用于检查是否已经存在一个具有匹配电子邮件地址的loginda对象。代码如下: import { Injectable } from '@angular/core'; import { LOGINDATA } from '../mock-users'; @Injectable({ providedIn: 'root' }) export class CheckLoginDataService { e

我有一个
loginda
对象数组,其中一个属性是email。下面的函数接受一个字符串参数,用于检查是否已经存在一个具有匹配电子邮件地址的
loginda
对象。代码如下:

import { Injectable } from '@angular/core';
import { LOGINDATA } from '../mock-users';

@Injectable({
  providedIn: 'root'
})

export class CheckLoginDataService {
  emailString: string = "";
  loginData = LOGINDATA;


  checkLoginData(str: string){
    let emailExists: boolean = false;

    this.loginData.forEach( function(LoginData){
      this.emailString = LoginData.email;
      console.log(this.emailString);

      if (str === this.emailString){
        emailExists = true;
      }
    })

    return emailExists;
  }
}
当我运行代码时,我发现错误:

错误类型错误:无法设置未定义的属性“emailString”

我查看了讨论此问题的其他stackoverflow线程,他们建议初始化
“emailString”
(在我的例子中)。我想我一开始就已经这么做了——我做错了什么

this.loginda.forEach(函数(loginda){

this.loginda.forEach((loginda)=>{


在类中使用箭头函数将函数中的
绑定到类实例本身。

使用箭头函数而不是ECMAScript 6的普通oneuser箭头函数。此答案将帮助您