我正在尝试循环处理多个用户的数据。如下所示:
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)
);