Computer >> Máy Tính >  >> Lập trình >> Javascript

Tích lũy một số giá trị bằng cách sử dụng hàm gọi lại và giá trị ban đầu trong JavaScript

Vấn đề

Chúng tôi được yêu cầu viết một hàm JavaScript nhận trong mảng một hàm gọi lại và một giá trị ban đầu.

Hàm sẽ tích lũy một giá trị qua quá trình lặp lại của mảng và cuối cùng trả về giá trị giống như Array.prototype.reduce () thực hiện.

Ví dụ

Sau đây là mã -

const arr = [1, 2, 3, 4, 5];
const sum = (a, b) => a + b;
Array.prototype.customReduce = function(callback, initial){
   if(!initial){
      initial = this[0];
   };
   let res = initial;
   for(let i = initial === this[0] ? 1 : 0; i < this.length; i++){
      res = callback(res, this[i]);
   };
   return res;
};
console.log(arr.customReduce(sum, 0));

Đầu ra

Sau đây là đầu ra của bảng điều khiển -

15