diff --git a/javascript/Javascript Expert/chapter11/dataTransformMapFilterReduce.js b/javascript/Javascript Expert/chapter11/dataTransformMapFilterReduce.js index 2a443a1..61997db 100644 --- a/javascript/Javascript Expert/chapter11/dataTransformMapFilterReduce.js +++ b/javascript/Javascript Expert/chapter11/dataTransformMapFilterReduce.js @@ -60,7 +60,7 @@ console.log(arr); arr = arr.reduce(function (prev, curr) { return prev + curr; }); -// Array wird in einen Wert konvertiert +// Array wird in einen numerischen Wert konvertiert console.log(arr); const user = "David Steven Schmidt Aster"; @@ -88,3 +88,16 @@ const createUsernames = function (accounts) { createUsernames(accounts); console.log(accounts); + +const movements = [200, 450, -400, 3000, -650, -130, 70, 1300]; + +// das Expression, das nicht der Bedienung entpricht, wird ins Feld nicht hinzugefügt +const deposits = movements.filter(function (mov) { + return mov > 0; //Transtaktionen, die mehr als 0 sind, werden in das Feld hinzugefügt +}); +console.log(`Deposits ${deposits}`); + +const withdrawals = movements.filter(function (mov) { + return mov <= 0; //Transtaktionen, die wenig oder gleich 0 sind, werden in das Feld hinzugefügt +}); +console.log(`Withdrawals ${withdrawals}`); diff --git a/javascript/Javascript Expert/chapter11/reduce.js b/javascript/Javascript Expert/chapter11/reduce.js new file mode 100644 index 0000000..449a114 --- /dev/null +++ b/javascript/Javascript Expert/chapter11/reduce.js @@ -0,0 +1,22 @@ +const randomIntNumbers = n => { + let transaktionen = []; + for (let i = 0; i < n; i++) { + const rndNum = Math.random() * 1000; + rndNum > Math.random() * 1000 + ? transaktionen.push(Math.trunc(rndNum)) + : transaktionen.push(-Math.trunc(rndNum)); + } + return transaktionen; +}; +const arrOfTrans = randomIntNumbers(10); + +console.log(`Alle Transaktionen: ${arrOfTrans}`); +const saldo = arrOfTrans.reduce(function (accu, cur, index) { + const transaktion = cur > 0 ? "deposit" : "witdrawal"; + + console.log( + `Konto Status: ${accu}, Transaktion ${index}: ${cur} (${transaktion})` + ); + return accu + cur; +}); +console.log(`Saldo: ${saldo} EUR`);