创建累加器对象的Javascript Reduce方法

创建累加器对象的Javascript Reduce方法,javascript,reduce,Javascript,Reduce,我正在寻找这段代码中的错误(仍在学习reduce方法;)–哪里出了问题?返回累加器: var numbers = [5, 3, 8, 6, 9, 1, 0, 2, 2]; var oddEvenCounts = numbers.reduce(function(counts, number) { if (isOdd(number)) { counts[odd]++; } else { counts[even]++; } }, {}); 带注释的工作代码: var数字

我正在寻找这段代码中的错误(仍在学习reduce方法;)–哪里出了问题?

返回累加器:

var numbers = [5, 3, 8, 6, 9, 1, 0, 2, 2];
var oddEvenCounts = numbers.reduce(function(counts, number) {
  if (isOdd(number)) {
    counts[odd]++;
  } else {
    counts[even]++;
  }
}, {});

带注释的工作代码:

var数字=[5,3,8,6,9,1,0,2,2];
函数isOdd(n){
返回!!(n%2);
}
var ODDEVENCOUTS=数字。减少(函数(计数,数字){
if(isOdd(编号)){
counts.odd++;//使用点表示法或['odd']
}否则{
计数。偶数+++;//使用点表示法或['偶数']
}
返回计数;//返回累加器
},{奇数:0,偶数:0});//设置奇数和偶数的初始值

控制台日志(ODDEVENTCOUNTS)
变量
偶数
奇数
中存储了哪些值?谢谢,非常有用:我知道我做了什么–没有返回语句,我没有设置counts对象开始,也没有正确调用它谢谢,这是我最常见的错误。
var numbers = [5, 3, 8, 6, 9, 1, 0, 2, 2];
var oddEvenCounts = numbers.reduce(function(counts, number) {
  if (isOdd(number)) {
    counts[odd]++;
  } else {
    counts[even]++;
  }
  return counts;
}, {});