【问题标题】:How to calculate total using Javascript/ TypeScript reduce如何使用 Javascript/TypeScript reduce 计算总数
【发布时间】:2018-08-24 13:42:03
【问题描述】:

我有以下数组:

[Title1: 111, Title2: 222, Title3: 333]

这个数组是从 Web Socket 服务生成的,我想使用 reduce 来累积这些值。

我有以下代码,但我无法让它工作:

this.liveDataPriceTotal = this.liveDataPrice.reduce( ( previousValue, currentValue ) => Number( previousValue ) + Number( currentValue ), 0 );

将 this.liveDataPrice 替换为 [111, 222, 333] 可以正常工作。

任何想法如何从我的数组中获取累计总数?

解决方案:

由于我对数组和对象感到困惑和混淆,所以我提出了以下解决方案,它从我的对象中累积值:

this.liveDataVolume24hTotal = Object.entries( this.liveDataVolume24h ).reduce( function( total, [key, value] ) {
    return ( value ? Number( total ) + Number( value ) : total );
}, 0 );

【问题讨论】:

  • 你有一个array,还是一个object
  • 初始化为:liveDataPrice: number[] = [];并将值添加为: this.liveDataPrice[data['MARKET']] = data['PRICE'];
  • @jonrsharpe:变量 this.liveDataPrice 是一个对象。
  • [Title1: 111, Title2: 222, Title3: 333] 是一个对象数组

标签: javascript arrays typescript sum reduce


【解决方案1】:

简单例子:

total: number = 0;
arrayNumb: [10, 20, 30];

this.total = this.arrayNumb.reduce((a, b) => a + b);
console.log('TOTAL = ', this.total);

控制台:TOTAL = 60

【讨论】:

    猜你喜欢
    • 2016-08-01
    • 2021-11-29
    • 2019-10-28
    • 2019-05-25
    • 2017-09-27
    • 2019-04-04
    • 2016-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多