首页 > 解决方案 > 对于给出 TypeError 的空对象:无法将 undefined 或 null 转换为对象

问题描述

好吧,我知道这将是一个非常常见的问题,但我试图找到解决方案,但还没有运气。所以这是问题陈述:

由于某些情况,我的对象没有值并且它是空的,当我尝试使用OR{}检查该对象的长度时,它给了我错误Object.keys(ambassador).lengthObject.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.

标签: javascriptarraysreactjsobjectis-empty

解决方案


所以,我从 Kireeti Ganisetti 的评论中得到了解决方案,他建议使用 LOADASH 并且它有效:)

要检查 Javascript 中的对象是否为空 - React :

import _ from 'lodash';
_.isEmpty(ambassador)

推荐阅读