문제
배열에서 콜백 함수와 초기 값을 취하는 JavaScript 함수를 작성해야 합니다.
함수는 배열의 반복을 통해 값을 누적하고 마지막으로 Array.prototype.reduce()가 하는 것처럼 값을 반환해야 합니다.
예시
다음은 코드입니다 -
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)); 출력
다음은 콘솔 출력입니다 -
15