Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我真的不理解reduce方法的逻辑_Javascript_Arrays - Fatal编程技术网

Javascript 我真的不理解reduce方法的逻辑

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函数的返回值被分配给累加器,累加器的值在整个数组的每次迭代中都

当累加器不增加并且始终处于其第一个值0时,我们如何将电流与累加器进行比较?我不明白

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来解释。谢谢