Как суммировать строковое значение в lodash по конкретному столбцу? - PullRequest
1 голос
/ 02 апреля 2019

Привет, я использую lodash для агрегации, но я застрял в одном месте, я получаю свое значение в виде строки, а не с плавающей точкой, так что это скорее concate, а не суммирование значения.

Ниже приведен способ.

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

var sumValue = _.sumBy(data,extendedPrice);

Результат сверху

5151.0598921.03362036.9865

Ожидаемый результат:

16109,0791

Любая помощь будет очень признательна.

1 Ответ

2 голосов
/ 02 апреля 2019

Поскольку значения являются строками, + означает конкатенацию, а не сложение. Вы можете предоставить обратный вызов для функции _.sumBy:

_.sumBy(data, item => Number(item.extendedPrice));

Рабочая демоверсия:

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);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>
...