TypeScript变量在array.forEach()内部未定义

时间:2019-04-03 19:24:12

标签: arrays angular typescript

我将尝试解释我的问题。我有一个特定对象的数组,我想从这个数组中创建一个新的对象,该对象具有每个对象的特定字段的值。

为了实现这一点,我尝试使用array.forEach()方法,但在forEach()函数内部遇到了变量未定义的错误。这是我的代码:

var values: number[];
measures.forEach((measure)=>{
    values.push(measure.value);
});

我试图将数组值声明为public(并访问this.values),并在我使forEach起作用的函数中声明它。

这是我在浏览器中遇到的错误(角度CLI报告没有问题):

ERROR TypeError: "values is undefined"

1 个答案:

答案 0 :(得分:2)

尝试初始化您的数组,而不只是将其声明为

values: number[] = [];

如果要直接在组件类内部声明变量,则不需要使用var关键字。如果您需要在函数内部执行此操作,请使用let关键字。更多信息 HERE