在对象数组中循环用户数据



我正在尝试循环处理多个用户的数据。如下所示:

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 
}
];

我的代码如下:

let namesAndRoles = (users) => {
for (let [key,value] of Object.entries(users)) {
console.log(`${key}: ${value}`);
}
};
//namesAndRoles(users)

给定一个用户数组,编写一个函数namesAndRoles,返回字符串中所有用户的名称和角色,每个值标记为:

如何以这种形式取回用户数据:

Name: Homer
Role: Clerk

value是您试图记录的对象,您应该访问特定的属性值,如value.name

您可以尝试使用Array.prototype.map():

map()方法创建一个新数组,其中填充了对调用数组中的每个元素调用所提供函数的结果。

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 
}
];
let namesAndRoles = (users) => users.map(p => ({Name: p.name, Role: p.role}));
console.log(namesAndRoles(users));

尝试将users阵列缩减为字符串

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 
}
];
console.log(users
.reduce( (acc, val) =>
`${acc}nname: ${val.name}nrole: ${val.role}n`, ``)
.trim()  // removes first n)
);

相关内容

最新更新