From aeb11af21cdc9b32e8f6abe1d9e8e744596bffaa Mon Sep 17 00:00:00 2001 From: ii65ix Date: Mon, 21 Jul 2025 18:58:23 +0300 Subject: [PATCH] transctions --- src/transactions.ts | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/src/transactions.ts b/src/transactions.ts index f1cd836..0239499 100644 --- a/src/transactions.ts +++ b/src/transactions.ts @@ -20,9 +20,12 @@ const transactions: Transaction[] = [ // example: // filterIncomeTransactions(transactions); // => [["income", 1000], ["income", 1500], ["income", 700]] function filterIncomeTransactions(transactions: Transaction[]): Transaction[] { + const result = transactions.filter( + (transaction) => transaction[0] === "income" + ); // write your code here... - return []; // replace empty array with what you see is fit + return result; // replace empty array with what you see is fit } // `filterExpenseTransactions` function that: @@ -32,8 +35,11 @@ function filterIncomeTransactions(transactions: Transaction[]): Transaction[] { // filterExpenseTransactions(transactions); // => [["expense", 500], ["expense", 300]] function filterExpenseTransactions(transactions: Transaction[]): Transaction[] { // write your code here... + const result2 = transactions.filter( + (transactions) => transactions[0] === "expense" + ); - return []; // replace empty array with what you see is fit + return result2; // replace empty array with what you see is fit } // `calculateTotalIncome` function that: @@ -43,8 +49,11 @@ function filterExpenseTransactions(transactions: Transaction[]): Transaction[] { // calculateTotalIncome(transactions); // => 3200 (1000 + 1500 + 700) function calculateTotalIncome(transactions: Transaction[]): number { // write your code here... + const totalIncome = transactions + .filter((transaction) => transaction[0] === "income") + .reduce((sum, transaction) => sum + transaction[1], 0); - return -1; // replace -1 with what you see is fit + return totalIncome; // return the calculated total income } // `calculateTotalExpenses` function that: @@ -54,8 +63,11 @@ function calculateTotalIncome(transactions: Transaction[]): number { // calculateTotalExpenses(transactions); // => 800 (500 + 300) function calculateTotalExpenses(transactions: Transaction[]): number { // write your code here... + const totalExpenses = transactions + .filter((transaction) => transaction[0] === "expense") + .reduce((sum, transaction) => sum + transaction[1], 0); - return -1; // replace -1 with what you see is fit + return totalExpenses; // replace -1 with what you see is fit } // `calculateNetTotal` function that: @@ -65,8 +77,10 @@ function calculateTotalExpenses(transactions: Transaction[]): number { // calculateNetTotal(transactions); // => 2400 (3200 - 800) function calculateNetTotal(transactions: Transaction[]): number { // write your code here... + const totalomaines = + calculateTotalIncome(transactions) - calculateTotalExpenses(transactions); - return -1; // replace -1 with what you see is fit + return totalomaines; // return the calculated net total } // `filterSignificantTransactions` function that: @@ -80,9 +94,18 @@ function filterSignificantTransactions( transactions: Transaction[], threshold: number ): Transaction[] { + return transactions.filter(([type, amount]) => amount >= threshold); + + + +const result = filterSignificantTransactions(transactions, 1000); +console.log(result); +// Output: [["income", 1000], ["income", 1500], ["expense", 2000]] + + // write your code here... - return []; // replace empty array with what you see is fit + return result // replace empty array with what you see is fit } export {