在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方法在下面的代码中给出了这个输出?的主要内容,如果未能解决你的问题,请参考以下文章