我正在尝试在 array.find 中实现可选的链接。 请参阅下面的代码片段代码,我有以下三种情况
- 如果数组为空,我需要有 true//默认情况下为 true
- 如果数组没有找到对象,它也应该是 true//空作为 true 值
- 如果数组有对象,它应该采用键属性值//true 或 false
但是根据 3 的情况,如果键值为假,则取 2 一
let array = [{
id: 1,
key: false
}, {
id: 2,
key: true
}]
let key =
array && array.length ?
array.find(
(item) => item.id === 1
)?.key || "empty as true value" :
"by default true";
console.log(key)
当左侧值可能是假值时,不能使用||
。在访问.key
之前,您需要在对象上使用它(这是真实的(
const key = (array?.find(item =>
item.id === 1
) || {key: "empty as true value"}).key;
或者最好使用空合并运算符:
const key = array?.find(item =>
item.id === 1
)?.key ?? "empty as true value";