我正在尝试检查是否存在特定的javascript对象。
var success = function(data) {
var x= 0;
var numOfCards = data.length;
for (x=0;x<data.length - 1;x++)
{
if (typeof data[x].labels[0].name !== 'undefined')
{
alert("Object Exists");
}
}
}
然而,Chrome收到以下错误:
(索引):21未捕获类型错误:无法读取未定义的属性"name"
当然,我使用typeof来检查对象的状态本身不应该导致错误吗?在第一次迭代时,警报框按预期显示,因为:
data[0].labels[0].name="我是一个值"
然而,
data[0]。标签[1]。名称
导致错误,因为"labels"数组为空。
这肯定能按预期工作。
当然,我使用typeof来检查对象的状态本身不应该导致错误吗?
当然,如果name
未定义。在这种情况下,data[0].labels[0]
已经未定义!
如果要允许所有级别都是undefined
,则在检查其中的嵌套对象之前,必须为每个级别嵌套if
语句和typeof
。
检查数据类型[x].labels[0].name!==='之前undefined',请确保typeof data[x].labels[0]!=='未定义
if (typeof data[x].labels[0] !== 'undefined')
{
alert("Object Exists");
}