From b274906134435e63794c9b0ba73afcf30f386029 Mon Sep 17 00:00:00 2001 From: David Date: Mon, 7 Nov 2022 15:58:32 +0100 Subject: [PATCH] =?UTF-8?q?hinzugef=C3=BCgt=20Method=20Chaining=20und=20fi?= =?UTF-8?q?nd=20Function?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Javascript Expert/chapter11/find.js | 48 +++++++++++++++++++ .../chapter11/methodChaining.js | 30 ++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 javascript/Javascript Expert/chapter11/find.js create mode 100644 javascript/Javascript Expert/chapter11/methodChaining.js diff --git a/javascript/Javascript Expert/chapter11/find.js b/javascript/Javascript Expert/chapter11/find.js new file mode 100644 index 0000000..4d613f1 --- /dev/null +++ b/javascript/Javascript Expert/chapter11/find.js @@ -0,0 +1,48 @@ +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 movements = randomIntNumbers(14); +console.log(movements); +// suche nach dem ersten Target nach der Bedienung mov > 500 (gibt nur den ersten gefundenen Wert zurück) +console.log(movements.find(mov => mov > 500)); + +const account1 = { + owner: "David Aster", + movements: [200, 450, -400, 3000, -650, -130, 70, 1300], + interestRate: 1.2, // % + pin: 1111, +}; + +const account2 = { + owner: "Joanne Aster", + movements: [5000, 3400, -150, -790, -3210, -1000, 8500, -30], + interestRate: 1.5, + pin: 2222, +}; + +const account3 = { + owner: "Nika Aster", + movements: [200, -200, 340, -300, -20, 50, 400, -460], + interestRate: 0.7, + pin: 3333, +}; + +const account4 = { + owner: "Eva Aster", + movements: [430, 1000, 700, 50, 90], + interestRate: 1, + pin: 4444, +}; + +const accounts = [account1, account2, account3, account4]; +// im folgenden Beispiel wird das ganze Object, das der Bedienung acc.owner ==="Nika Aster" enspricht zurück gegeben +const account = accounts.find(acc => acc.owner === "Nika Aster"); +console.log(account); diff --git a/javascript/Javascript Expert/chapter11/methodChaining.js b/javascript/Javascript Expert/chapter11/methodChaining.js new file mode 100644 index 0000000..d4fcf65 --- /dev/null +++ b/javascript/Javascript Expert/chapter11/methodChaining.js @@ -0,0 +1,30 @@ +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 eurToUsd = 1.1; + +const transaktionen = randomIntNumbers(20); +console.log(transaktionen); + +// gleichzeitig Verwaltung der Werten die der filter Bedienung entsprechen, +// Berechnung ins US Dollars, gemeinsame Sume der Werten in einen Wert (EUR ins US Dollars) +const depositsInUsd = transaktionen + .filter((transaktion, i, arr) => { + return transaktion > 0; + }) + // arr Parameter hilft bei Debuging + .map((transaktion, i, arr) => { + // console.log(transaktion, array); + return transaktion * eurToUsd; + }) + .reduce((accu, cur, i) => accu + cur); + +console.log(depositsInUsd);