如何迭代json数组nullsafe?

时间:2015-08-11 11:47:29

标签: javascript angularjs

我有一个json数组,我想迭代如下:

offer.products.forEach(function(product) {
   console.log(product);
});

问题:如果products列表为空或空或未定义,则会产生错误。

问题:如何在javascript中正确完成安全迭代?

2 个答案:

答案 0 :(得分:3)

试试这个

(offer.products || []).forEach(function(product) {
   console.log(product);
});

答案 1 :(得分:1)

只需添加拟合检查:

if (offer.products) { //blocks products==null and products==undefined
    offer.products.forEach(function(product) {
        console.log(product);
    });
}

空应该不是问题,因为如果产品为空,forEach不应该做任何事情。