没有内置的“简单”方法可以进行这种深度检查。推理很简单——大多数时候你知道你正在处理的对象的类型。
你可以做:
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 或查询选择器来执行此操作。对象属性访问是为您查询的是文档的对象构建的。当然,通过一堆丑陋的检查是可能的,就像你可以用重型螺丝刀敲钉子一样。
您可以在 Stack Overflow 中看到有关如何使用 DOM 方法解析 XML 的问题。