gpt4 book ai didi

javascript - javascript中是否存在对象/数组

转载 作者:行者123 更新时间:2023-11-30 08:06:17 26 4
gpt4 key购买 nike

我正在尝试从 RSS 提要中添加内容 - 问题是每个 RSS 提要都有不同的图像、内容等格式。

我正在尝试查看某个对象是否存在于 javascript 或 jquery 中:

item.mediaGroups[0].contents[0].url

如何在 if 语句中检查它?我一直在获取没有这种结构的提要:

Uncaught TypeError: Cannot read property '0' of undefined 

还试过:

if (typeof item.mediaGroups[0].contents[0].url === "undefined")

但我不断收到同样的错误。

谢谢!

最佳答案

没有“简单”的内置方法来进行这种深度检查。推理很简单 - 大多数时候您知道您正在处理的对象的类型。

你可以这样做:

if (typeof item !== "undefined" &&
typeof item.mediaGroups !== "undefined" &&
typeof item.mediaGroups[0] !== "undefined" &&
typeof item.megiaGroups[0].contents !== "undefined" &&
typeof item.megiaGroups[0].contents[0] !== "undefined" &&
typeof item.mediaGroups[0].contents[0].url !== "undefined"){

当您键入所有可能需要考虑数据结构的内容时,因为这确实不是您应该开始的情况 :)

(提示,除了第一个,你可以跳过所有的 typeof,但我认为 typeof 在这里是一个很好的说明)。

真正的问题是:

为什么您不确定数据的结构是什么?

如果您要查询数据(例如 RSS 提要中的 XML),可以使用 XPATH 或查询选择器进行有效的查询。对象属性访问是为对象 构建的,您查询的是文档。当然,通过一堆丑陋的检查是可能的,就像您可以用重型 Screwdriver 敲钉子一样。

您可以在 Stack Overflow 中查看 this question,了解如何使用 DOM 方法解析 XML。

关于javascript - javascript中是否存在对象/数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17911749/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com