JSFiddle - React, Tailwind, and code Playground

JavaScript

/*
	Please, any ideas are appreciated: 
  what i want is: 
  the resulting array to be: 
  e = [
  	{ name: "John", occurence: 2 },
    { name: "Simon", occurence: 1 }
  ]

*/


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);