var arr = [{req: [{type: 'high', val: 1},{type: 'low', val: 2}], other: [{random: 123}]}, {req: [{type: 'cool', val: 1},{type: 'med', val: 3}], other: [{random: 456}]}]
как написать функцию, используя функции массива, чтобы получить значение val
, которое равно 3 сверху массива объектов из массива объектов, где type
равно med
ожидаемый результат
var result = 3;
Я пытался использовать функцию уменьшения массива
let getRequirementArray = (req, vol) =>
req.reduce((currentVal, obj) => {
return obj.type === vol ? obj.val + currentVal : currentVal;
}, 0);
let getFinalOutput = (arr, vol) =>
arr.reduce((currentVal, obj) => {
let { req } = obj;
let val= getRequirementArray(req, vol);
return val + currentVal;
}, 0);
var result = getFinalOutput(arr, 'med');
Но я ожидаю немного меньшую функцию