如何使用打字稿返回导入的数组类型的所有项目的总和?

问题描述 投票:0回答:1

我一直坚持要按照以下准则进行操作:

sumMass(项目:有效载荷[]):数字使用每个项目的massKg属性返回所有项目的总和]

有效载荷是从另一个看起来像的打字稿文件中导入的

export interface Payload {
    massKg: number;
}

这是我的Rocket类的代码,应该接受Payload数组类型的项目并给出数字输出。我不断收到此错误

Rocket.ts(20,12):错误TS2365:运算符'+ ='不能应用于类型'number'和'Payload'。

import { Payload } from './Payload';
 import { Astronaut } from './Astronaut';
 import { Cargo } from './Cargo';

export class Rocket implements Payload {
    name: string;
    massKg: number;
    totalCapacityKg: number;
    cargoItems: Cargo[] = [];
    astronauts: Astronaut[] = [];

    constructor(name: string, totalCapacityKg: number,){
        this.name = name;
        this.totalCapacityKg = totalCapacityKg;
    }

    sumMass(items: Payload[]): number {
        let sum: number = 0;
         for(let i = 0; i < items.length; i++){
           sum += items[0];
         }
        return sum;

    }
}

let myRocket = new Rocket('rocket', 7);
console.log(myRocket.name);
console.log(myRocket.sumMass([]));

我只是不确定如何将接口用作数组,或者如何继续构造此方法。任何建议表示感谢,谢谢!

我一直坚持要遵循以下准则:sumMass(items:Payload []):number使用每个项目的massKg属性返回所有项目的总和,Payload是一个...

javascript typescript methods
1个回答
1
投票
应该是
© www.soinside.com 2019 - 2024. All rights reserved.