如果数组为空,则JavaScript reduce返回null

时间:2016-06-10 12:55:26

标签: javascript arrays node.js

我需要根据类型对数组中的对象进行计数。我不知道我在这里失踪了什么,但这就是我的所作所为:

myCounts = (myArray || []).reduce(function _countMembersByType(counts, member) {
  return counts[member.type === productType.GROUP ? 'groupCount' : 'individualCount']++;
}, {groupCount: 0 , individualCount: 0});

myArray有成员时,myCounts将为null。否则,它将像我期望的那样成为myCounts: {"groupCount":0,"individualCount":0}对象。

我是JS的新手,非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

你返回加1的结果,所以在下一次迭代中,前一个或@RemoteServiceRelativePath("message") public interface MessageService extends RemoteService { Message getMessage(String input); } 将是一个不是你的基础对象的数字。

您需要返回整个对象。

counts

fiddle