Array.prototype._reduce = function (callback, initialValue = 0) {
let arr = Array.prototype.slice.call(this);
let acc = initialValue;
for (let index = 0; index < arr.length; index++) {
if (!arr.hasOwnProperty(index)) continue;
acc = callback.call(null, acc, arr[index], index, this)
}
return acc;
}