-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathfunctional.js
58 lines (47 loc) · 1.06 KB
/
functional.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
let zahlen = [5,6,7,8]
// 1
{
// Funktional
function sum(array){
// Startwert || vorangegangener Wert:sum
// Aktuelle Zahl im Array:val
return array.reduce((sum,val) =>sum + val, 0);
}
console.log(sum(zahlen))
// Imperativ
let summe = 0
for (const zahl of zahlen){
summe + zahl
}
console.log(summe)
}
//2
{
//Funktional
function even(array){
// Current number in iteration:value
return array.map(value => value%2 === 0 )
}
console.log(even(zahlen))
// Imperativ
// Current number in iteration:v
let isEvenArr = zahlen.map(v => v%2 === 0)
console.log(isEvenArr)
}
// 3.1
{
/**
*
* @param arr Array das gefiltert werden soll
* @param fn Funktion die mitgegeben wird um zu prüfen ob Kriterium erfüllt wird
*/
function myFilter(arr,fn){
let ret = []
arr.forEach(v =>{
if(fn(v)) ret.push(v)
})
return ret
}
let filtered = myFilter(zahlen,(n)=>n>6)
console.log(filtered)
}