Javascript 我真的不理解reduce方法的逻辑
当累加器不增加并且始终处于其第一个值0时,我们如何将电流与累加器进行比较?我不明白Javascript 我真的不理解reduce方法的逻辑,javascript,arrays,Javascript,Arrays,当累加器不增加并且始终处于其第一个值0时,我们如何将电流与累加器进行比较?我不明白 function getMax(array) { return array.reduce((accumulator, current) => { let max = current > accumulator ? current : accumulator; return max; }, 0); } reducer函数的返回值被分配给累加器,累加器的值在整个数组的每次迭代中都
function getMax(array) {
return array.reduce((accumulator, current) => {
let max = current > accumulator ? current : accumulator;
return max;
}, 0);
}
reducer函数的返回值被分配给累加器,累加器的值在整个数组的每次迭代中都会被记住,并最终成为最终的单个结果值
-
变量累加器保持不变并不重要,因为返回的是max。reduce的等效foreach循环
常量数组=[2,5,4];
console.loggetMaxarray;
函数getMaxarray{
设max=0;
array.forEachcurrent=>{
如果当前>最大值{
最大值=电流;
}
};
返回最大值;
}return max表示新累加器在下一次迭代中为max。0是他的初始值,当元素大于0时,它会增加。因为您返回的最大值将是下一次迭代中的累加器,依此类推。请检查:最好使用Number.NEGATIVE_∞而不是0,否则您的函数只有在至少有一个正数的情况下才能工作。True。但问题的初始值为0,所以我用0来解释。谢谢