前言reduce(...)方法对数组中的每个元素(升序)执行你提供的reducer函数,并将其结果聚合成一个单一的返回值(累计effect)此方法接受两个参数:callback(...)(必需)、initialValue(可选)。callback(...)接受4个参数:Accumulator(acc)(累加器)、CurrentValue(cur)(当前值)、CurrentIndex(idx)(当前索引)、SourceArray(src)(源数组)。注意点:1.callback(...)一般需要返回一个值2.不会??改变原来的数组实现思路1.先获取初始累加值(分两种情况:提供initialValue||initialValueisnotprovided)2.遍历Array并执行callback(...)3.返回累加值源码实现Array.prototype.myReduce=function(callback,initialValue){if(this===null){thrownewTypeError('Array.prototype.reduce调用null或undefined');}if(typeofcallback!=='function'){thrownewTypeError(callback+'isnotafunction');}constO=Object(this);constlenValue=O.length;constlen=lenValue>>>0;if(len===0&&!initialValue){thrownewTypeError('数组不包含任何元素且未提供initialValue');}让k=0;让蓄能器;获取累加器有两种情况//提供了InitialValueaccumulator=initialValue//没有提供InitialValueaccumulator=数组的第一个有效元素if(initialValue){accumulator=initialValue;}else{让kPresent=false;while(&kPresentk
