首页 > 解决方案 > 获取从 SharePoint API 检索的所有对象的总和

问题描述

  .subscribe((dataTotal) => {
    console.log(dataTotal)
    this.toGetHourData=dataTotal;
    
    const AssociateArray = []
    AssociateArray.push({dataTotal : Number})

    let associateSum: number = 0;
    AssociateArray.forEach(a => associateSum += a.value);
    console.log(associateSum);
    },

这是我的代码。我已将所有对象推入一个数组。但是当我试图总结它时。控制台记录一个 NaN。

ps:这是我第一次使用stackoverflow

标签: arraysangulartypescriptsum

解决方案


您的代码中有许多问题

1.类型声明不正确

您已声明dataTotal : NumberFor types you need to use numbernotNumber因此dataTotal : number

2. 您正在向数组添加类型!

考虑代码AssociateArray.push({dataTotal : Number}){dataTotal : Number}基本上是一种类型,因此您将空类型推送到数组...

3.您可以使用其他方式求和,例如使用reduce

考虑到这些,您可以将代码更改为

  .subscribe((dataTotal) => {
    this.toGetHourData = dataTotal;
    let associateSum: number = dataTotal.reduce((prev, next) => prev + next.value , 0);
    console.log(associateSum);
  }

推荐阅读