2015-07-03 1 views
0

Я пытаюсь передать массив объектов (торговцев) в функцию, пропустить каждого «торговца» и сделать что-то с «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); 
    } 
) 
}; 

Любые предложения?

Благодаря

ответ

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

+0

Спасибо - Просто для других ссылки, я также должен был сделать JSON.stringify(), например, var oMerchant = JSON.parse (JSON.stringify (sMerchant)); – Geraint