我有一个对象,用户是一个对象,首先我从一个数组检查它的元素之一是否等于条件。并非总是如此,并且如果数组中不存在该对象,我想返回一个空对象(而不是undefined
):
//...
return {
user: users.find(user => user.uid === selectedUser)
}
答案 0 :(得分:4)
您可以使用Logical OR(||
)运算符。这将返回遇到的第一个truthy值。这意味着,如果find()
返回undefined
,它将返回||
右侧的值。
return {
user: users.find(user => user.uid === selectedUser) || {}
}
您可以在此处查看示例:
function findUser(selectedUser) {
const users = [{
uid: 1,
name: 'John'
}, {
uid: 2,
name: 'Doe'
}];
return {
user: users.find(user => user.uid === selectedUser) || {}
}
}
console.log(findUser(1));
console.log(findUser(2));
console.log(findUser(3));