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