用reduce方法用习惯了,就随意记录下用普通方法实现reduce
简单的实现一个数组的值的累加
function{
const arr1 = [{num:1},{num:2},{num:3},{num:4}];
// reduceDemo就是实现的函数了
function reduceDemo(arr,first,fn){
if(typeof fn !== 'function'){
console.log('第三个参数必须为函数!');
return
}
const length = arr.length;
let res = first;// 都是必填项
for(let i = 0;i < length; i++){
res = fn(res,arr[i],i,arr);
}
return res;
}
// 接下来就是调用这个函数
const num = reduceDemo(arr1,0,(res,arrs,index,arr2)=>{
res += arrs.num;
return res;
})
console.log(num);// 结果为10
}