Если я вас правильно понимаю, вы пытаетесь получить суммы столбцов (например, 1, 4, 1).
Вы можете использовать loda sh для создания функции с _.flow()
, которая принимает значения объекта (массивы), транспонирует их (строки в столбцы) с помощью _.unzip()
, а затем суммирует каждое столбец, сопоставляя его с _.sum()
:
const { flow, values, unzip, map, sum } = _
const fn = flow(
values, // get the values of the object - a list of arrays
unzip, // unzip to transpose the arrays to columns
arrs => map(arrs, sum) // sum each column
)
const data = {
IP1: [1, 2, 3, 4, 5, 6],
IP2: [4, 5, 6, 7, 8, 9],
IP3: [1, 7, 8, 5, 9, 6, 3]
}
const result = fn(data)
console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.js"></script>
И немного более чистая версия lodash / fp:
const { flow, values, unzip, map, sum } = _
const fn = flow(
values, // get the values of the object - a list of arrays
unzip, // unzip to transpose the arrays to columns
map(sum) // sum each column
)
const data = {
IP1: [1, 2, 3, 4, 5, 6],
IP2: [4, 5, 6, 7, 8, 9],
IP3: [1, 7, 8, 5, 9, 6, 3]
}
const result = fn(data)
console.log(result)
<script src='https://cdn.jsdelivr.net/g/lodash@4(lodash.min.js+lodash.fp.min.js)'></script>