如何按特定列对lodash中的字符串值求和?

May*_*yur 3 javascript jquery lodash angular7

嗨,我正在使用 lodash 进行聚合,但我一直停留在一个地方,我将我的值作为字符串而不是浮点数获取,因此它是连接而不是对值求和。

下面是尝试的方法。

var data = [{extendedPrice: "5151.059", month: "January"}, 
            {extendedPrice: "8921.0336", month: "March"},
            {extendedPrice: "2036.9865", month: "April"}];

var sumValue = _.sumBy(data,extendedPrice);
Run Code Online (Sandbox Code Playgroud)

上面的结果

5151.0598921.03362036.9865

预期结果:

16109.0791

任何帮助将非常感激。

31p*_*piy 11

由于值是字符串,因此+意味着串联,而不是加法。您可以为该_.sumBy函数提供回调:

_.sumBy(data, item => Number(item.extendedPrice));
Run Code Online (Sandbox Code Playgroud)

工作演示:

_.sumBy(data, item => Number(item.extendedPrice));
Run Code Online (Sandbox Code Playgroud)
var data = [{extendedPrice: "5151.059", month: "January"}, 
            {extendedPrice: "8921.0336", month: "March"},
            {extendedPrice: "2036.9865", month: "April"}];

var sumValue = _.sumBy(data, item => Number(item.extendedPrice));
console.log(sumValue);
Run Code Online (Sandbox Code Playgroud)