javascript - 如果属性未定义或不存在
问题描述
需要一点帮助。我有一组要过滤的属性。但是,如果某个属性不存在,我的视图将不会呈现,因为该属性变得未定义。我需要优雅地忽略或显示其他价值。
export const countryList = [
{name: 'France', flagCode: 'fr'},
{name: 'England', flagCode: 'england'},
{name: 'Germany', flagCode: 'gm'},
{name: 'default', flagCode: 'default'},
];
const country = `${nationality}`
const flag = countryList.filter(function (el) {
return el.name.toLowerCase() === country.toLowerCase();
})[0].flagCode;
因此,如果${nationality}
返回“意大利”,.flagCode
将返回undefined
. 我可以将意大利添加到我的数组中来解决这个问题,但是会有一些我想念的国家,需要一个更优雅的方法。所以在我的函数中,我需要检查是否undefined
,如果它返回一个默认名称'default',如果它确实存在则返回数组中的值。提前致谢。
解决方案
您可以使用 OR 运算符||
来执行此操作
const country = countryList.find(el => (el.name.toLowerCase() === country.toLowerCase());
const flag = (country && country.flagCode) || 'default';
推荐阅读
- javascript - 无法从我的数据库 MongoDB 中获取所有元素
- python - 用numpy计算dict键的平均值
- python - 在networkx中使用draw_circular函数时如何指定边缘样式(实线,虚线,虚线)?
- python - 如何合并来自两个熊猫数据帧的两个稀疏 coo 矩阵?
- excel - 如何使用 gs 从 google sheet 发送带有格式化表格的电子邮件?
- python - 运行 python 函数的 Slack 机器人
- java - SAML 2.0 onelogin IdPMetadataParser 返回空结果
- c# - 使用 64 位 Web ASP 应用程序连接到 informix
- python - 如何使用 Python 将 SQL 查询的输出重定向到文本文件
- flutter - 有没有一种方法可以在字段集中时输入字段文本?