JSFiddle - React, Tailwind, and code Playground

by Krishna Ananthi

JavaScript

const endorsements = [
    {name: 'Bob', skill: 'JS'},
    {name: 'David', skill: 'JS'},
    {name: 'Bob', skill: 'HTML'},
    {name: 'James', skill: 'HTML'},
    {name: 'James', skill: 'JS'},
    {name: 'James', skill: 'CSS'},
];

// Output
const skillset = [
    {skill: 'JS', people:['Bob', 'David', 'James'], count:3},
    {skill: 'HTML', people:['Bob', 'James'], count:2},
    {skill: 'CSS', people:['James'], count:1},
];

let result = {};
endorsements.forEach(obj=>{
	 /*	if(result.length === 0){				 
		         result = {skill: obj.skill, people: [obj.name], count:1}
    }else{
   result.forEach(res=>{
    	if(obj.skill === res.skill){
      		res.people.push(obj.name);
          res.count++;
      }
    });*/
    if(result[obj.skill])
    }
});

console.log(result);