在javascript中,为啥这个数组的reduce方法在下面的代码中给出了这个输出?

Posted

技术标签:

【中文标题】在javascript中,为啥这个数组的reduce方法在下面的代码中给出了这个输出?【英文标题】:In javascript why this reduce method of an array gives this output in below code?在javascript中,为什么这个数组的reduce方法在下面的代码中给出了这个输出? 【发布时间】:2021-12-26 17:17:25 【问题描述】:

var check = [1,2,3,4,5];

var check1 = check.reduce((accumulator,element,index,array) => element )

console.log(check1);
//output :5. Why?

【问题讨论】:

它将最终结果(累加器)减少到返回的内容。由于您没有将element 添加(连接)到累加器中,因此最后剩下的唯一结果是数组中的最后一个元素 - 5。 因为你总是返回元素而不是累加器。阅读减少可能是一个好主意-> developer.mozilla.org/en-US/docs/Web/javascript/Reference/… 为了扭转这个问题,你为什么认为它不应该返回5 为什么会给出输出?因为这就是 reduce 的工作原理。查看文档以了解 reduce 的作用。您可能还需要查看粗箭头的作用。 【参考方案1】:

这是故意的!这是因为你的 reducer 正在返回数组中的每个项目(你的 element 参数),一旦我们到达末尾,我们将返回最后一个项目(恰好是 5)。

【讨论】:

以上是关于在javascript中,为啥这个数组的reduce方法在下面的代码中给出了这个输出?的主要内容,如果未能解决你的问题,请参考以下文章

js数组高阶方法reduce经典用法代码分享

js数组高阶方法reduce经典用法代码分享

几个关于js数组方法reduce的经典片段

JavaScript数组方法--reducereduceRIghtreverse

javascript reduce方法用的多么

Javascript中内建函数reduce的应用详解