【发布时间】:2022-01-08 10:22:42
【问题描述】:
我的代码有一个奇怪的问题。有一个来自存储视频的 API 调用的对象,我需要添加网站上的视频数量。但有时可能会有来自 API 调用的“null”,显然,我不必显示 null 值的长度。
当我编写这段代码时,它在我尝试编辑器时有效,但是当我在我的项目中使用它时,它给出了一个错误,无法将未定义或 null 转换为对象。谁能给我一个想法或暗示我做错了什么?抱歉,如果我解释不清楚,这是我在这里的第一篇文章。谢谢!
const object = {
background_video: null,
vimeo_branded: 'video url',
vimeo_unbranded: "video url"
}
const removeFalsyElement = object => {
let sum = 0;
Object.keys(object).forEach(key => {
if (object[key]) {
sum += 1;
}
});
return sum;
};
console.log(removeFalsyElement(object)) // output should be 2.
【问题讨论】:
-
我得到的输出为 2。顺便说一句,这个例子似乎没有重现您所面临的问题。请发帖minimal reproducible example。
-
我同意@kiner_shah。详细说明一下,从标题中的错误看来,在不同的环境中(当调用实际 API 时),您最终会遇到一些试图将未定义或空值转换为对象的代码。因此,您必须识别引发该错误的代码部分并发布该部分,或者将代码的整个部分发布到接收 API 响应和使用响应的位置。可能只是整个响应正文为空,并且代码从那里生成 undefined 或 null,您的代码无法正确处理。
-
请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。
标签: javascript reactjs object