From bc23e2ea73a57dac45d999968024bf849e33bc21 Mon Sep 17 00:00:00 2001 From: AbdulazizHani Date: Sun, 20 Jul 2025 19:50:31 +0300 Subject: [PATCH] iterapt2done --- src/transactions.ts | 31 ++++++++++++------------------- 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/src/transactions.ts b/src/transactions.ts index f1cd836..2146929 100644 --- a/src/transactions.ts +++ b/src/transactions.ts @@ -20,9 +20,7 @@ const transactions: Transaction[] = [ // example: // filterIncomeTransactions(transactions); // => [["income", 1000], ["income", 1500], ["income", 700]] function filterIncomeTransactions(transactions: Transaction[]): Transaction[] { - // write your code here... - - return []; // replace empty array with what you see is fit + return transactions.filter(([type]) => type === "income"); } // `filterExpenseTransactions` function that: @@ -31,9 +29,7 @@ function filterIncomeTransactions(transactions: Transaction[]): Transaction[] { // example: // filterExpenseTransactions(transactions); // => [["expense", 500], ["expense", 300]] function filterExpenseTransactions(transactions: Transaction[]): Transaction[] { - // write your code here... - - return []; // replace empty array with what you see is fit + return transactions.filter(([type]) => type === "expense"); } // `calculateTotalIncome` function that: @@ -42,20 +38,19 @@ function filterExpenseTransactions(transactions: Transaction[]): Transaction[] { // example: // calculateTotalIncome(transactions); // => 3200 (1000 + 1500 + 700) function calculateTotalIncome(transactions: Transaction[]): number { - // write your code here... - - return -1; // replace -1 with what you see is fit + return transactions + .filter(([type]) => type === "income") + .reduce((sum, [, amount]) => sum + amount, 0); } - // `calculateTotalExpenses` function that: // - Accepts a "transactions" parameter of type "Transaction[]". // - calculates the total expense and returns it. // example: // calculateTotalExpenses(transactions); // => 800 (500 + 300) function calculateTotalExpenses(transactions: Transaction[]): number { - // write your code here... - - return -1; // replace -1 with what you see is fit + return transactions + .filter(([type]) => type === "expense") + .reduce((sum, [, amount]) => sum + amount, 0); } // `calculateNetTotal` function that: @@ -64,9 +59,9 @@ function calculateTotalExpenses(transactions: Transaction[]): number { // example: // calculateNetTotal(transactions); // => 2400 (3200 - 800) function calculateNetTotal(transactions: Transaction[]): number { - // write your code here... - - return -1; // replace -1 with what you see is fit + return ( + calculateTotalIncome(transactions) - calculateTotalExpenses(transactions) + ); } // `filterSignificantTransactions` function that: @@ -80,9 +75,7 @@ function filterSignificantTransactions( transactions: Transaction[], threshold: number ): Transaction[] { - // write your code here... - - return []; // replace empty array with what you see is fit + return transactions.filter(([, amount]) => amount >= threshold); } export {