Im working on a challenge: Given an array of objects, write a function admin that returns the name and birthdate of all users that are marked as "admin".
const users = [
{
name: 'Homer',
role: 'clerk',
dob: '12/02/1988',
admin: false
},
{
name: 'Lisa',
role: 'staff',
dob: '01/30/1965',
admin: false
},
{
name: 'Marge',
role: 'associate',
dob: '09/10/1980',
admin: true
}
]
function admin(myObj) {
function groupBy(myObj, prop) {
return myObj.reduce(function (acc, obj) {
let key = obj[prop]
if (!acc[key]) {
acc[key] = []
}
acc[key].push(obj)
return acc
}, {});
}
let trueAdmin = groupBy(myObj, 'admin');
console.log(trueAdmin[true].map(({name, dob}) => `Name: ${name}
Dob: ${dob}
`).join(`
`));
}
admin(users);
When I run tests, it comes back as undefined and i do not know why. Im looking for an expected output: admin(users)
// Name: Marge
// Dob: 09/10/1980