Typescript 为什么表达式返回0?

Typescript 为什么表达式返回0?,typescript,lambda,sum,Typescript,Lambda,Sum,我想计算对象中某个字段的和。 如果使用filterc.SectionId===SectionId计算对象中某个字段的完整和时,函数返回0,则以下操作将起作用并返回正确的结果。 对象中字段的所有值都是数字。我敢肯定。我认为这是一个表达错误,但不明白在哪里 calculateGroupTotal1(sectionId: number): number { if (sectionId === -1) this.model.Register10Data.map(c => c

我想计算对象中某个字段的和。 如果使用filter
c.SectionId===SectionId
计算对象中某个字段的完整和时,函数返回0,则以下操作将起作用并返回正确的结果。 对象中字段的所有值都是数字。我敢肯定。我认为这是一个表达错误,但不明白在哪里

calculateGroupTotal1(sectionId: number): number {
    if (sectionId === -1)
        this.model.Register10Data.map(c => c.Num1).reduce((sum, current) => (+sum) + (+current));
    return this.model.Register10Data.map(c => c.SectionId === sectionId ? c.Num1 : 0).reduce((sum, current) => (+sum) + (+current));
}
寄存器10data
是一个数组,包含下一种类型的对象:

class Register10SectionViewModel {
        public Register10Id: number;
        public Id: number;
        public SectionId: number;
        public SectionTitle: string;    
        public AssetType: string;
        public CauseDisposal: string;
        public Num1: number;
        public Num2: number;
        public Num3: number;
        public Num4: number;
    }
我哪里做错了

我在
this.model.Register10Data.map(c=>
c、 Num1).减少((和,电流)=>(+和)+(+电流))


我们可以知道你在里面放了什么值吗…?嗨。看看固定问题。仍然不知道这个.model.Register10Data包含什么…看看这个问题。又修好了。