-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathreducePolyfils.js
More file actions
37 lines (28 loc) · 766 Bytes
/
reducePolyfils.js
File metadata and controls
37 lines (28 loc) · 766 Bytes
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
const arr = [1, 2, 3, 4, 5];
const sum = arr.reduce((acc, curr, index, existingArr) => {
return acc + curr;
});
const sum1 = arr.reduce((acc, curr, index, existingArr) => {
return acc + curr;
}, 0);
console.log(sum);
console.log(sum1);
Array.prototype.myReducer = function (callBack, initialValue) {
let accumultor = initialValue;
for (let i = 0; i < this.length; i++) {
if(accumultor){
accumultor = callBack(accumultor, this[i], i, this);
}else{
accumultor = this[i];
}
}
return accumultor;
};
const sum2 = arr.myReducer((acc, curr, index, existingArr) => {
return acc + curr;
});
const sum3 = arr.myReducer((acc, curr, index, existingArr) => {
return acc + curr;
}, 0);
console.log(sum2);
console.log(sum3);