From a90c8d62eb47f4a1310ac931a7a9fdfe3bfca937 Mon Sep 17 00:00:00 2001 From: Raghad Butaiban Date: Tue, 11 Mar 2025 11:05:13 +0300 Subject: [PATCH] iteration_part2 done --- src/transactions.ts | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/src/transactions.ts b/src/transactions.ts index f1cd836..c386ebb 100644 --- a/src/transactions.ts +++ b/src/transactions.ts @@ -22,7 +22,7 @@ const transactions: Transaction[] = [ function filterIncomeTransactions(transactions: Transaction[]): Transaction[] { // write your code here... - return []; // replace empty array with what you see is fit + return transactions.filter((trans) => trans.includes("income")); // replace empty array with what you see is fit } // `filterExpenseTransactions` function that: @@ -33,7 +33,7 @@ function filterIncomeTransactions(transactions: Transaction[]): Transaction[] { function filterExpenseTransactions(transactions: Transaction[]): Transaction[] { // write your code here... - return []; // replace empty array with what you see is fit + return transactions.filter((trans) => trans.includes("expense")); // replace empty array with what you see is fit } // `calculateTotalIncome` function that: @@ -43,8 +43,12 @@ function filterExpenseTransactions(transactions: Transaction[]): Transaction[] { // 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 + let IncomeTrans: Transaction[] = filterIncomeTransactions(transactions); + let sum = IncomeTrans? IncomeTrans.reduce((x, trans) => { + return x + trans[1]; + }, 0) + : 0; + return sum; // replace -1 with what you see is fit } // `calculateTotalExpenses` function that: @@ -54,8 +58,12 @@ function calculateTotalIncome(transactions: Transaction[]): number { // calculateTotalExpenses(transactions); // => 800 (500 + 300) function calculateTotalExpenses(transactions: Transaction[]): number { // write your code here... - - return -1; // replace -1 with what you see is fit + let ExpTrans: Transaction[] = filterExpenseTransactions(transactions); + let sum = ExpTrans? ExpTrans.reduce((x, trans) => { + return x + trans[1]; + }, 0) + : 0; + return sum; // replace -1 with what you see is fit } // `calculateNetTotal` function that: @@ -65,8 +73,9 @@ function calculateTotalExpenses(transactions: Transaction[]): number { // 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); + + // return total; // replace -1 with what you see is fit } // `filterSignificantTransactions` function that: @@ -81,10 +90,15 @@ function filterSignificantTransactions( threshold: number ): Transaction[] { // write your code here... + + let transFiltered: Transaction[] = transactions.filter((trans) => trans[1] >= threshold); + return transFiltered; - return []; // replace empty array with what you see is fit + // return []; // replace empty array with what you see is fit } + + export { Transaction, filterIncomeTransactions,