对象的原理未定义

时间:2015-07-03 20:26:03

标签: javascript node.js express

我试图将一系列对象(商家)输入到一个函数中,遍历每个“商家”并使用该商家的“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 个答案:

答案 0 :(得分:2)

这可能是因为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);
  });
};