检查是否从get()接收空值

y1aodyip  于 2021-09-13  发布在  Java
关注(0)|答案(5)|浏览(269)

我有一个从api接收的对象。现在我想显示对象中的一个特定值,但是如果该值为null,则使用get()应该为空。
考虑如下对象:

const person = {
firstName:"John", 
lastName:"Doe", 
petName: null,
age:50, 
eyeColor:"blue"};

假设我仅在从api收到对象时才显示pet name的值。但是我不想显示'null',相反,它应该是空的。

<Box>{`Pet Name: ${ person ? get(person, 'petName') : '' }`}</Box>

输出=>petname:null
相反,希望输出为=>pet name:(如果为null,则为空,否则为值)

mgdq6dx1

mgdq6dx11#

可以使用nullish合并

<Box>{`Pet Name: ${ person ? get(person, 'petName') ?? '' : '' }`}</Box>
llew8vvj

llew8vvj2#

这将解决这个问题。再添加一个条件语句。

<Box>{`Pet Name: ${ person ? get(person, 'petName') ? get(person, 'petName'):'' : '' }`}</Box>
2vuwiymt

2vuwiymt3#

javascript对象是真实的,因此您的代码总是在三元组中运行get()。要检查空对象,请尝试:

<Box>{`Pet Name: ${ ( person && Object.keys(person).length !==0 ) ? get(person, 'petName') : '' }`}</Box>
d5vmydt9

d5vmydt94#

试试这个。

<Box>
{
`Pet Name: ${ person ? get(person, 'petName') !== null ? get(person, 'petName') : '' : '' }`
}
</Box>
w1e3prcc

w1e3prcc5#

<Box>{`Pet Name: ${ person ? .petName ?? ' ' }`}</Box>

相关问题