forEach Typescript TS2339“类型'void'上不存在”

时间:2017-07-23 09:50:14

标签: typescript

试图找到两个数组的交集,为什么我得到TS2339:Property 'collection' does not exist on type 'void'

所有数组都在同一个类中声明。

this.locations.forEach(function(location) {
    this.collection.locations.forEach(function(id) {
        if(location._id === id) {
            this.display.push(location);
        }
    });
});

1 个答案:

答案 0 :(得分:10)

使用function从调用者处获取this(在您的情况下为forEach中的内容);使用=>从外部范围获取this。因此使用:

this.locations.forEach(location => {
    this.collection.locations.forEach(id => {
        if(location._id === id) {
            this.display.push(location);
        }
    });
});

我建议阅读以下内容: