javascript - 映射函数返回 if
问题描述
我试图只返回与下面代码中的 id 匹配的用户。仅当 id 不匹配时,如何使其返回“不工作”?
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' ]
我只想返回匹配的用户。
解决方案
如果没有元素匹配,您可以使用Array#find
nullish合并运算符来提供默认值。
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));
推荐阅读
- amazon-web-services - Terraform 检测到为后端指定的配置已更改
- python - 来自本机 Python 的 PyInstaller 是否可以像使用 Conda 时那样包含低级依赖项?
- c++ - 将库链接到 C++ 中的 linux 二进制文件
- python - 验证引用另一个模式的 Avro 模式
- python - 制作“torch.nn.ModuleList()”列表以在 YOLOv4 主干中设计 CSPDarkNet53
- javascript - 带有外部文件的摩卡测试 - 钩子以不同的顺序运行?
- azure - 通过 Powershell AZ CLI 获取 KeyVault 获取访问策略
- websphere - IBM Websphere 记录被拒绝的 IP
- python - 使用 ftplib 递归上传所有文件到 FTP 时,只有第一个目录传输成功
- c - 如何将新元素添加到 const char ** 数组