@@ -18,19 +18,18 @@ Returns the same result given same parameters. It's execution doesn't depend on
18
18
19
19
``` javascript
20
20
let number = 1 ;
21
- let increment = () => {
22
- return number += 1 ;
23
- }
21
+
22
+ let increment = () => number += 1 ;
23
+
24
24
increment ();
25
25
// 2
26
26
```
27
27
28
28
2 ) Pure
29
29
30
30
``` javascript
31
- let increment = (n ) => {
32
- return n + 1 ;
33
- }
31
+ let increment = n => n + 1 ;
32
+
34
33
increment (1 );
35
34
// 2
36
35
```
@@ -41,13 +40,9 @@ Functions that operate on other functions, either by taking them as arguments or
41
40
1 ) Sum
42
41
43
42
``` javascript
44
- let sum = (x , y ) => {
45
- return x + y;
46
- }
43
+ let sum = (x , y ) => x + y;
47
44
48
- let calculate = (fn , x , y ) => {
49
- return fn (x, y);
50
- }
45
+ let calculate = (fn , x , y ) => fn (x, y);
51
46
52
47
calculate (sum, 1 , 2 );
53
48
// 3
@@ -62,9 +57,7 @@ let students = [
62
57
{name: ' Maria' , grade: 9 }
63
58
];
64
59
65
- let isApproved = (student ) => {
66
- return student .grade >= 6 ;
67
- }
60
+ let isApproved = student => student .grade >= 6 ;
68
61
69
62
students .filter (isApproved);
70
63
// [ { name: 'Anna', grade: 6 }, { name: 'Maria', grade: 9 } ]
@@ -73,9 +66,7 @@ students.filter(isApproved);
73
66
3 ) Map
74
67
75
68
``` javascript
76
- let byName = (obj ) => {
77
- return obj .name ;
78
- }
69
+ let byName = obj => obj .name ;
79
70
80
71
students .map (byName);
81
72
// [ 'Anna', 'John', 'Maria' ]
@@ -90,13 +81,9 @@ let students = [
90
81
{name: ' Maria' , grade: 9 }
91
82
];
92
83
93
- let isApproved = (student ) => {
94
- return student .grade >= 6 ;
95
- }
84
+ let isApproved = student => student .grade >= 6 ;
96
85
97
- let byName = (obj ) => {
98
- return obj .name ;
99
- }
86
+ let byName = obj => obj .name ;
100
87
101
88
students .filter (isApproved).map (byName);
102
89
// ['Anna', 'Maria']
@@ -105,9 +92,7 @@ students.filter(isApproved).map(byName);
105
92
5 ) Reduce
106
93
107
94
``` javascript
108
- let totalGrades = students .reduce ((sum , student ) => {
109
- return sum + student .grade ;
110
- }, 0 );
95
+ let totalGrades = students .reduce ((sum , student ) => sum + student .grade , 0 );
111
96
112
97
totalGrades
113
98
// 19
@@ -119,7 +104,7 @@ Whenever a function calls itself, creating a loop.
119
104
1 ) Countdown
120
105
121
106
``` javascript
122
- let countdown = ( num ) => {
107
+ let countdown = num => {
123
108
if (num > 0 ) {
124
109
console .log (num);
125
110
countdown (num - 1 );
@@ -139,7 +124,7 @@ countdown(5);
139
124
2 ) Factorial
140
125
141
126
``` javascript
142
- let factorial = ( num ) => {
127
+ let factorial = num => {
143
128
if (num <= 0 ) {
144
129
return 1 ;
145
130
} else {
@@ -157,9 +142,7 @@ Given a value and a function, unwraps the values to get to its inner value(s), c
157
142
1 ) Adding a value to all the elements in a array
158
143
159
144
``` javascript
160
- let plus1 = (num ) => {
161
- return num + 1 ;
162
- }
145
+ let plus1 = num => num + 1 ;
163
146
164
147
let numbers = [1 , 2 , 3 ];
165
148
numbers .map (plus1);
@@ -204,9 +187,7 @@ Extract data from arrays or objects using a syntax that mirrors the construction
204
187
1 ) Select from pattern
205
188
206
189
``` javascript
207
- let foo = () => {
208
- return [1 , 2 , 3 ];
209
- };
190
+ let foo = () => [1 , 2 , 3 ];
210
191
211
192
let [a, b] = foo ();
212
193
console .log (a, b);
0 commit comments