我需要根据对象的类型对数组中的对象计数。我不知道我在这里错过了什么,但这就是我所做的:
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'ing 的结果,所以在下一次迭代中,上一个或counts
将是一个数字,而不是你的基对象。
您需要返回整个对象。
myCounts = (myArray || []).reduce(function _countMembersByType(counts, member) {
counts[member.type === productType.GROUP ? 'groupCount' : 'individualCount']++;
return counts;
}, {
groupCount: 0,
individualCount: 0
});
小提琴