как суммировать из массива объекта, используя только lodash? - PullRequest
0 голосов
/ 06 апреля 2019

эй, я хочу вычислить сумму одного свойства из массива объекта, используя lodash

предположим, что массив объекта выглядит следующим образом ...

salary":[{
   "bills":[{"electricity":300,"milk":500},
            {"electricity":240,"milk":200},
            {"electricity":800,"milk":900}]    
}]

Я хочу вычислитьсумма «молока» от этого объекта с использованием lodash.

Ответы [ 2 ]

0 голосов
/ 06 апреля 2019

Использовать вложенные _.sumBy() звонки.Внутренний получает сумму milk от одного salary, а внешний получает все зарплаты:

const data = {"salary":[{"bills":[{"electricity":300,"milk":500},{"electricity":240,"milk":200},{"electricity":800,"milk":900}]}]}

const result = _.sumBy(data.salary, ({ bills }) => _.sumBy(bills, 'milk'))

console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>
0 голосов
/ 06 апреля 2019

как то так

const bills = salary.map((s)=> s.bills)

_(bills).map((objs,key)=>({
    'milk': _.sumBy(objs, 'milk')
})).value

...