CodingNeed.

2 · Model and build · 20 MIN

Project · Typed expense summary

Combine loops, objects, conditions, and functions.

Model each expense with a type, then combine filtering and summation. Compile-time types document trusted inputs. External input still needs runtime validation.

A budget sheet totals just the rows you are interested in.

Read the example

type Expense = {category:string; amount:number};
const expense: Expense = {category:"food", amount:5};
console.log(expense.amount);
Check the expected output
5

Your challenge

Input is {expenses: [{category, amount}], category}. Return the total amount for expenses whose category matches input.category. Do not mutate input.

Common trap

Adding every amount ignores the requested category.