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

时间:2014-07-02 09:23:37

标签: javascript arrays iteration

我希望通过javascript数组(嵌套对象:基于集合+ Json)进行迭代,并从其对象中收集数据。但是如果对象的数据不可用,则跳过它并转到下一个对象,分别为。继续迭代。目前,如果相应对象中的数据不可用,则会显示此错误:Uncaught TypeError: Cannot read property 'hk5' of undefined

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

迭代所有"数据对象"

for (var i = 0; i < data.collection.items.length; i++) {
    var data = data.collection.items[i].data[2].value.packet_data_field.application_data_params.hk5;
    console.log(belaMode);
}

谢谢!

2 个答案:

答案 0 :(得分:1)

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);
}

答案 1 :(得分:0)

if(data.collection.items[i].data[2].value.packet_data_field.application_data_params!=undefined){}