【发布时间】:2016-06-24 01:31:36
【问题描述】:
我有一个如下所示的列表:
["green", "blue","green","green", "blue", "black"]
我如何使用 ImmutableJS 运算符来计算这些项目并获得可能如下所示的 Map:
{ green: {name: green, count: 3}, blue:{name: blue, count: 2}, black:{name: black, count: 1}}
我发现下面的函数 here 可以在普通 JS 中做到这一点,那么我如何使用 ImmutableJS 来实现呢?
export const countOccurances = obj => {
return obj
.reduce((counter, x) => {
if (counter.hasOwnProperty(x)) {
counter[x].count = counter[x].count + 1
} else {
counter[x] = {name: x, count: 1}
}
return counter;
}, {})
}
【问题讨论】:
标签: javascript functional-programming immutable.js