减少数据库实体上的typescript

减少数据库实体上的typescript,typescript,reduce,Typescript,Reduce,我有一个食品实体,它有一个价格栏 在项目中的某个地方,我有一组食物,我想使用reduce()方法提取它们的价格总和,以使代码更加紧凑。但是,我得到的错误是:类型“number”不可分配给类型“Food”并且预期的类型来自此签名的返回类型,因为每个元素都是reduce函数。当我使用for循环时,这不是一个问题,但是我想使用reduce方法使代码更易于阅读 有没有办法解决这个问题?首先,问问题总是可以的。 没有错误的问题 下面是一段可能对您有所帮助的代码 type食品={ 价格:号码 } 常量食品=

我有一个食品实体,它有一个价格栏

在项目中的某个地方,我有一组食物,我想使用
reduce()
方法提取它们的价格总和,以使代码更加紧凑。但是,我得到的错误是:
类型“number”不可分配给类型“Food”
并且
预期的类型来自此签名的返回类型
,因为每个元素都是reduce函数。当我使用for循环时,这不是一个问题,但是我想使用reduce方法使代码更易于阅读


有没有办法解决这个问题?

首先,问问题总是可以的。 没有错误的问题

下面是一段可能对您有所帮助的代码

type食品={
价格:号码
}
常量食品=[
{价格:10},
{价格:20}
]
const totalAmount=食物。减少((食物1,食物2)=>{
返回{
价格:food1.price+food2.price
}
},{价格:0})
总额/{价格:30}
您忘记定义
reduce
函数的第二个参数。 您还可以只返回以下号码:

type食品={
价格:号码
}
常量食品=[
{价格:10},
{价格:20}
]
const totalAmount=食品。reduce((总量,食品)=>total+food.price,0)

我也不认为你应该删除你的问题。它可能会帮助其他人。这就是stackoverflow如此流行的原因

也许您忘记键入reduce的初始值(第二个参数)。若你们分享代码最小可复制的例子,并在哪里得到一个错误,我会尝试help@captain-yossarian
typescript const totalAmount=foods.reduce((food1,food2)=>food1.price+food2.price)
错误发生在food1.price和food2.price上。我也可以先使用地图,然后在地图上使用reduce,但是我想知道有没有一种方法可以用一个减量来完成所有的工作