Javascript 在js中迭代对象数组:未定义时跳过

Javascript 在js中迭代对象数组:未定义时跳过,javascript,arrays,iteration,Javascript,Arrays,Iteration,我想通过javascript数组(嵌套对象:基于collection+Json)进行迭代,并从其对象收集数据。但是,如果某个对象的数据不可用,请跳过该对象并转到下一个对象,即resp。继续迭代。当前,如果相应对象中的数据不可用,则会出现此错误:uncaughttypeerror:无法读取未定义的属性“hk5” 如果数据(以下简称hk5)可用,我如何首先检查 遍历所有“数据对象” for(var i=0;i

我想通过javascript数组(嵌套对象:基于collection+Json)进行迭代,并从其对象收集数据。但是,如果某个对象的数据不可用,请跳过该对象并转到下一个对象,即resp。继续迭代。当前,如果相应对象中的数据不可用,则会出现此错误:
uncaughttypeerror:无法读取未定义的属性“hk5”

如果数据(以下简称hk5)可用,我如何首先检查

遍历所有“数据对象”

for(var i=0;i
谢谢

for(var i=0;iif(data.collection.items[i].data[2].value.packet_data_field.application_data_params!=undefined){}
if(typeof(data.collection.items[i].data[2].value.packet\u data\u field.application\u data\u params)!=“未定义”){ var data=data.collection.items[i].data[2].value.packet\u data\u field.application\u data\u params.hk5; } 控制台日志(模式); }
通过使用
if
语句允许有条件地执行代码。它们看起来像
如果(某些条件){/*如果为真做点什么*/}如果为假做点什么{/*如果为假做点什么*/}
你做得太过分了。OP想要测试应用程序数据参数是否未定义。
if(data.collection.items[i].data[2].value.packet_data_field.application_data_params!=undefined){}
for (var i = 0; i < data.collection.items.length; i++) {
    if(typeof(data.collection.items[i].data[2].value.packet_data_field.application_data_params) != 'undefined'){
    var data = data.collection.items[i].data[2].value.packet_data_field.application_data_params.hk5;
    }
    console.log(belaMode);
}