Function return type inference is limited (arkts-no-implicit-return-types) <ArkTSCheck>
Operator '+' cannot be applied to types 'Food' and 'number'. <ArkTSCheck>
const total = foods.reduce((a, b) => {
return a + b.price * b.count
},)
第一个错误 Function return type inference is limited (arkts-no-implicit-return-types) <ArkTSCheck>
提示您函数的返回类型应该明确声明,而不是依赖于隐式推断。
第二个错误 Operator '+' cannot be applied to types 'Food' and 'number'. <ArkTSCheck>
表示您正在尝试将一个 Food
类型的对象和一个数字进行相加操作,这在类型上是不兼容的。
reduce
方法的回调函数需要返回一个累加值。在您的代码中,没有返回初始值0
,导致语法错误。- 您不能直接将一个对象(如
a
)和一个数字(b.price * b.count
)相加,需要先提取出价格进行累加。
const total = foods.reduce((a, b) => {
return a + b.price * b.count
}, 0)