【发布时间】:2021-01-12 22:54:08
【问题描述】:
我正在处理一个挑战:给定一个对象数组,编写一个函数 admin,它返回所有标记为“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);
当我运行测试时,它返回为未定义,我不知道为什么。我正在寻找预期的输出: 管理员(用户)
// Name: Marge
// Dob: 09/10/1980
【问题讨论】:
标签: javascript function multidimensional-array javascript-objects