我试图只返回与下面代码中的id匹配的用户。当id不匹配时,如何让它返回"Not Working“?
const database = {
users: [
{
id: '123',
name: 'Shevy',
email: 'shevy@gmail.com',
password: 'soccer',
entries: 0,
joined: new Date()
},
{
id: '124',
name: 'Benny',
email: 'benny@gmail.com',
password: 'java',
entries: 0,
joined: new Date()
}
]
}
let prime = 123
const mapArray = database.users.map((users) => {
if (Number(users.id) === prime) {
return users;
}else {
return "Not Working"
}
});
console.log(mapArray); 这将返回
[ { id: '123',
name: 'Shevy',
email: 'shevy@gmail.com',
password: 'soccer',
entries: 0,
joined: Thu Aug 13 2020 20:00:14 GMT+0100 (West Africa Standard Time) },
'Not Working' ] 我只想返回匹配的用户。
发布于 2020-08-14 03:06:20
可以将Array#find与nullish coalescing operator一起使用,以便在没有元素匹配的情况下提供默认值。
const database = {
users: [
{
id: '123',
name: 'Shevy',
email: 'shevy@gmail.com',
password: 'soccer',
entries: 0,
joined: new Date()
},
{
id: '124',
name: 'Benny',
email: 'benny@gmail.com',
password: 'java',
entries: 0,
joined: new Date()
}
]
};
const getUser = search => database.users.find(({id})=>+id===search) ?? 'Not working';
console.log(getUser(123));
console.log(getUser(9999));
https://stackoverflow.com/questions/63401641
复制相似问题