javascript - 如何更新 forEach 函数中的变量?无法读取未定义的属性

标签 javascript angular typescript foreach

<分区>

export class myclass implements OnInit {
    private outagesList;
    private outageArray;

    constructor(private outages: OutagesService){}

    ngOnInit(){
        this.outages.getOutagesList().subscribe((data) => {
            this.outagesList = data;
            this.outagesList.forEach( function (arrayItem)  
            {             
              this.outageArray.push(arrayItem["title"]);          
            });
        )
}

如果我尝试将数据推送到 outageArray,它会抛出 ERROR TypeError: Cannot read property 'outageArray' of undefined

我怎样才能避免这个错误?我需要将此 outageArray 值访问到 html。

最佳答案

使用箭头函数

this.outagesList.forEach((arrayItem) => {
  this.outageArray.push(arrayItem["title"]);         
});

关于javascript - 如何更新 forEach 函数中的变量?无法读取未定义的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49322146/

相关文章:

javascript - 缩小尺寸时如何将标签更改为下拉列表?

Angular 5 : Event handling for material dropdown

angular - HttpClient.get ('/',{观察 : 'response' }); not returning all headers

html - 如何修复未捕获的 ReferenceError : play is not defined at HTMLButtonElement. onclick

javascript - Safari 将 URL # 片段合并到其浏览器缓存中

javascript - "binding"工厂和 Controller 之间

javascript - JS AJAX 将生成的文件作为 PDF 发布到服务器目录

angular - 升级 JQuery 3.2 版输入文件,它抛出 lint 错误

angular - 发布 Angular4 应用程序

javascript - 等待两个 observable 完成 zip