Array reduce :另一个数组中数组长度的总和

Array reduce : Sum total of Array length in within another array

我在计算选项数组的总票数时遇到困难。我有一个 json 如下所示

 {
    id:1,
    pollName: 'aaaaa',
    pollChoices:[
    id: 2,
    choice : 'dddd',
    votes: [
     {

     }
    ]
  ]
 }

我正在计算我记忆中上面乔恩投下的总票数 selectors

我的代码如下

const pollChoices: Array<PollChoice> = poll.get("PollChoices").toJS();
            const pollStatistic = pollChoices
               .reduce((prev: any, curr: any) => {
                console.log("The pollStatistic is ", prev);
                return { curr, totalVotesCasted: (prev.Votes ? 
                  (prev.Votes.length + curr.Votes.length) : 
                   0 + curr.Votes.length )}
            }, {});

 console.log("The pollStatistic is ", pollStatistic);

pollStatistic 中的控制台似乎显示了我的 totalVotesCasted,但是,当我打印 pollStatistic 时,它始终未定义,我希望能够在我的状态下获得 pollStatistic.totalCount .请提供任何帮助。

这不是 reduce 的工作方式。 您将此签名的缩减器回调传递给缩减函数:function reducer(accumulator, currentValue, currentIndex) { ... }

回调应该return它想要传递给下一次迭代的累加器的值。 在您访问 prev.Votes 的情况下,您应该访问 prev.totalVotesCasted 这是您在累加器上设置的值。