javascript - 对于给出 TypeError 的空对象:无法将 undefined 或 null 转换为对象
问题描述
好吧,我知道这将是一个非常常见的问题,但我试图找到解决方案,但还没有运气。所以这是问题陈述:
由于某些情况,我的对象没有值并且它是空的,当我尝试使用OR{}
检查该对象的长度时,它给了我错误Object.keys(ambassador).length
Object.entries(ambassador).length
TypeError:无法将 undefined 或 null 转换为对象。
代码示例:
const ambassador = Array.isArray(ambassadors)
? ambassadors.find((item) => {
return item.affiliate_id === affiliate.tracking_id;
})
: {};
console.log(ambassador == null); //false
console.log(typeof(ambassador)); // Object
console.log(Object.keys(ambassador).length > 0 ); //TypeError: Cannot convert undefined or null to object.
解决方案
所以,我从 Kireeti Ganisetti 的评论中得到了解决方案,他建议使用 LOADASH 并且它有效:)
要检查 Javascript 中的对象是否为空 - React :
import _ from 'lodash';
_.isEmpty(ambassador)
推荐阅读
- oracle - 如何在一个程序中执行多个程序?
- linux - 我可以在 Linux 服务器上安装两个 Chef 客户端,以便两个客户端都可以管理 linux 服务器吗?
- java - 如何检查jackson中的JsonNode对象是否可以映射到PoJo对象?
- php - 重命名 woocommerce 登录页面上的用户名标签
- javascript - 使用 ReactJS 在表中呈现具有多个表数据的多个表行
- ruby-on-rails - 为什么在较新版本的 Rails 中控制器发生任何更改时不需要重新启动服务器?
- django - 如何覆盖 wagtail 管理员登录页面
- vba - 如何将忽略年份的儒略日期转换为儒略日
- java - Hibernate @OneToMany @ManyToOne 映射
- azure-data-factory - Azure 数据工厂检查复制记录的行数