【发布时间】: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