开发者问题收集

对象的属性未定义

2015-07-03
35

我试图将对象数组(商家)输入到一个函数中,遍历每个“商家”,并对该商家的“merchant_aw_id”执行某些操作,但得到的结果未定义。

module.exports = function(merchants) {
  merchants.forEach(function eachMerchant(merchant) {
    console.log(merchant);
    }
  )
};

我可以使用 console.log 商家,它会返回:

{ _id: 5596da54e4b05a4f29699441,
  merchant_id: '0001',
  merchant_aw_id: '6130',
  merchants: [] }

但是,当我执行以下操作时,我得到了未定义的结果:

module.exports = function(merchants) {
  merchants.forEach(function eachMerchant(merchant) {
    console.log(merchant.merchant_aw_id);
    }
  )
};

有什么建议吗?

谢谢

1个回答

这可能是因为 typeof merchant 变量是一个 String ,它没有属性 merchant_aw_id

先将其转换为对象:

module.exports = function(merchants) {
  merchants.forEach(function eachMerchant(merchant) {
    var obj = JSON.parse(merchant);
    console.log(obj.merchant_aw_id);
  });
};

Pierre
2015-07-03