JSFiddle - React, Tailwind, and code Playground
by moeishaa
JavaScript
const endorsements = [
{ skill: 'css', user: 'Bill' },
{ skill: 'html', user: 'Moe' },
{ skill: 'javascript', user: 'John' },
{ skill: 'javascript', user: 'Taylor' },
{ skill: 'css', user: 'Peter' }
];
const parse = ends => {
return ends.reduce((soFar, current) => {
let skill = soFar.find(s => s.skill === current.skill);
if (skill) {
skill.users.push(current.user);
skill.count++;
}
else {
soFar.push({
skill: current.skill,
users: [current.user],
count: 1
});
}
return soFar;
}, []);
};
console.log(parse(endorsements));