对象数组我想用减少方法和映射得到这个结果如下:使用地图和减少让我在的</p> <pre><code>var c = [{name: 'John'}, {name: 'John'}, {name: 'Tom'}]; </code></pre> <p>数组
result = [
{ name: "John", occurence: 2 },
{ name: "Tom", occurence: 1 }
]
这里是一个尝试我已经尝试,但仍然没有完全得到它。 https://jsfiddle.net/joeSaad/up3ddfzz/
c = [{
name: 'John'
}, {
name: 'John'
}, {
name: 'Simon'
}];
var d = c.reduce((countMap, word) => {
countMap[word.name] = ++countMap[word.name] || 1;
return countMap
}, []);
var e = c.reduce((countMap, word) => {
q = [];
countMap[word.name] = ++countMap[word.name] || 1;
var p = {
name: word.name,
occurence: countMap[word.name]
}
q.push(p);
return q
}, []);
console.log(e);
帮助非常感谢。在此先感谢
你忘了张贴的尝试? – Li357
@AndrewL。谢谢!只是编辑了问题 –
@ mike-c似乎现在在我的jsfiddle中运行不起作用.. –