首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >检查是否从get()接收到null值

检查是否从get()接收到null值
EN

Stack Overflow用户
提问于 2021-07-12 07:49:05
回答 5查看 60关注 0票数 0

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

考虑如下对象:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const person = {
firstName:"John", 
lastName:"Doe", 
petName: null,
age:50, 
eyeColor:"blue"};

假设我仅在收到来自API的对象时才显示Pet Name的值。但是我不想显示'NULL',相反,它应该是空的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<Box>{`Pet Name: ${ person ? get(person, 'petName') : '' }`}</Box>

输出=>宠物名称:空

相反,希望输出为=>宠物名称:(如果为空,则为空,否则为值)

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2021-07-12 08:03:29

您可以使用nullish coalescing

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<Box>{`Pet Name: ${ person ? get(person, 'petName') ?? '' : '' }`}</Box>
票数 0
EN

Stack Overflow用户

发布于 2021-07-12 07:52:40

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<Box>{`Pet Name: ${ person ? get(person, 'petName') ? get(person, 'petName'):'' : '' }`}</Box>
票数 0
EN

Stack Overflow用户

发布于 2021-07-12 07:55:06

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<Box>{`Pet Name: ${ ( person && Object.keys(person).length !==0 ) ? get(person, 'petName') : '' }`}</Box>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68343736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文