gpt4 book ai didi

javascript - 类型错误 : "this is undefined" When using forEach on member array

转载 作者:行者123 更新时间:2023-11-30 11:05:10 25 4
gpt4 key购买 nike

我有一个类marketData:

export class marketData {
id: number;
denomCount: number;
itemCount: number;
conversionRates: Array<number> = [];
conversionRateToLowest: Array<number> = [];
itemPrices: Array<Array<number>> = [];
}

我想为它定义一个成员函数 validate(),它检查类的值是否设置正确。我写了这个方法的一部分来检查 itemPrices:

this.itemPrices.forEach(function(this, prices){
if(prices.length != this.itemCount){
// handle error
});

但是,上面给出了一个 ERROR TypeError: "this is undefined"。我尝试以这种方式检查 itemPrices 时遇到了完全相同的错误:

this.itemPrices.forEach(function(prices){
if(prices.length != this.itemCount){
// handle error
});

即在 function 参数中没有 this

访问itemCount成员变量的正确方法是什么?

最佳答案

这是因为您使用 forEach 的方式。使用 Arrow Functions而不是像下面这样。并且它建议在使用 typescript 类时始终使用箭头函数,否则您将继续遇到这个问题。

this.itemPrices.forEach((prices) =>{
if(prices.length != this.itemCount){
// handle error
}
});

关于javascript - 类型错误 : "this is undefined" When using forEach on member array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55962729/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com