Skip to content

Commit 2eeccf9

Browse files
committed
EP-18 | Higher-Order Functions ft. Functional Programming
1 parent 95abb75 commit 2eeccf9

File tree

1 file changed

+78
-0
lines changed

1 file changed

+78
-0
lines changed
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
// Higher order function : A function which takes another function as a input to itself or returns a function from itself is called...
2+
// Callback function : A function which is passed in a higher order fucntion is called...
3+
4+
function x () {
5+
console.log("Namaste");
6+
}
7+
function y (x) {
8+
x()
9+
}
10+
y(x) // Hi
11+
// y is higher orrder function
12+
// x is callback function
13+
14+
15+
// 🟨🚨 DRY Principle = Don't Repeat Yourself 🚨
16+
/*
17+
18+
const radius = [ 3,1,2,4 ]
19+
20+
21+
const calculateArea = (radius) => {
22+
const output = []
23+
for (let i = 0; i < radius.length; i++)
24+
{
25+
output.push(Math.PI * radius[ i ] * radius[ i ])
26+
}
27+
return output
28+
}
29+
console.log(calculateArea(radius));
30+
31+
32+
const calculateCircumference = function (radius) {
33+
const output = []
34+
for (let i = 0; i < radius.length; i++)
35+
{
36+
output.push(2 * Math.PI * radius[ i ])
37+
}
38+
return output
39+
}
40+
console.log(calculateCircumference(radius));
41+
42+
43+
const calculateDiameter = function (radius) {
44+
const output = []
45+
for (let i = 0; i < radius.length; i++)
46+
{
47+
output.push(2 * radius[ i ])
48+
}
49+
return output
50+
}
51+
console.log(calculateDiameter(radius));
52+
53+
*/
54+
55+
56+
// 🟨Functional Programming
57+
58+
const radius = [ 3,1,2,4 ]
59+
60+
const area = function (radius) { return Math.PI * radius * radius }
61+
const circumference = function (radius) { return 2 * Math.PI * radius }
62+
const diameter = function (radius) { return 2 * radius }
63+
64+
const calculate = (arr,logic) => {
65+
const output = []
66+
for (let i = 0; i < arr.length; i++)
67+
{
68+
output.push(logic(arr[ i ]))
69+
}
70+
return output
71+
}
72+
73+
// console.log(radius.map(area));
74+
75+
console.log(calculate(radius,area));
76+
console.log(calculate(radius,circumference));
77+
console.log(calculate(radius,diameter));
78+

0 commit comments

Comments
 (0)