function reduceMe(array, iteratee, accumulator, isFirst) { // 设置一个初始的下标,设置为-1 let index = -1; // 设置length,当数组存在时,length为数组的长度,否则为0 const length = array === null ? 0 : array.length; // 当isFirst为true同时length != 0 时,accumulator为数组的第一个元素 if (isFirst && length) { accumulator = array[++index]; } // 遍历数组 index小于length while (++index < length) { // 调用iteratee函数进行数据处理, // iteratee函数参数:accumulator:起始值, array[index]为以后数组值, index为以后数组下标, 残缺数组 // 最初,将iteratee返回的值赋值给accumulator,以提供给下一次iteratee函数应用 accumulator = iteratee(accumulator, array[index], index, array); } // 返回最初的后果 return accumulator;}