reactjs - 如何在ReactJs应用程序中使用reduce()代替传统的foreach循环

标签 reactjs

我的 React 应用程序上有以下代码:

var numberOfAnswers = 0
var sumOfAnswers = 0

respostas.forEach(function (element,index) {
    console.log(index+"-"+element["responses"])
    numberOfAnswers += element["responses"]
    sumOfAnswers += (index*element["responses"])                
})

它工作得很好,但我想使用类似的东西:

const arrSum = respostas => respostas.reduce((a,b) => a + b, 0)

是否可以使用reduce()来做到这一点,如果可以的话,我该怎么做?

最佳答案

当然有可能

const [numberOfAnswers, sumOfAnswers] = respostas.reduce((res, element, index) => 
  [
    res[0] + element.responses, 
    res[1] + index * element.responses
  ] , [0, 0])

关于reactjs - 如何在ReactJs应用程序中使用reduce()代替传统的foreach循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58422231/

相关文章:

reactjs - 如何检查Electron中屏幕截图的权限状态(macOS Catalina)

javascript - 无法渲染 React 组件,我的理解或代码中有错误?

javascript - 如何将 React.lazy 用于模块的组件?

reactjs - ES6如何进行多个默认导出

javascript - 在 Storybook 中全局隐藏插件选项卡

javascript - 使用 array.prototype.filter() 方法根据另一个数组的参数进行过滤

javascript - 在 React Native 中根据条件渲染元素

javascript - 如何在 i18n-js 中使用 setLocale?

javascript - react 路由器路径参数不起作用

reactjs - React Native TypeError : dispatcher. useSyncExternalStore 不是函数