Array.prototype.reduce = function (fn, intVal) {
let arr = this
let acc = intVal || arr[0]
let start = intVal ? 0 :1
for (let i = start; i < arr.length; i++) {
const isa = arr[i]
console.log(acc)
acc = fn(acc, isa, i, arr)
}
return acc
}
let arr = [1, 2, 3]
let res = arr.reduce((a, b) => {
return a + b
}, 2)
console.log(res)