123456789
Array.prototype.myReduce = function (callback, initialValue) { let acc = initialValue === undefined ? this[0] : initialValue; this.forEach((element) => { acc = callback(acc, element); }); return acc;};console.log([1, 2, 3].myReduce((acc, n) => acc + n, 1000));
12345678910
Array.prototype.myMap = function (callback) { let result = []; this.forEach((n, i) => { result.push(callback(n, i)); }); return result;};console.log([1, 2, 3].myMap((n, i) => n * 3));console.log(Array.prototype.myMap.call([1, 2, 3], (n, i) => n * 10));