我有一个具有以下结构的对象列表:
const budgetCategories = [
{budgetName: 'budgetName', monthlyCost: '192', rollOverEnabled:true , dueDate: '02'}
];
我正在尝试使用reselect
构建一个选择器,它将对所有monthlyCost
键求和并返回总和。
export const getBudgetCategories = (state) => state.getIn(['budget', 'budgetCategories']);
export const getTotalMonthlyBudget = createSelector(
getBudgetCategories,
(budget) => { budget.reduce((data) => {console.log(data)}) }
)
我已经尝试了一些地图,但我觉得使用reduce
是一些方法。
答案 0 :(得分:0)
是的,您可以使用reduce来根据回调中的逻辑减少数组 请仔细阅读
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce
export const getTotalMonthlyBudget = createSelector(
getBudgetCategories,
(budget) => budget.reduce((totalsum, data) =>
parseInt(data.monthlyCost, 10) + totalsum, 0)
)