基本上,我正在尝试创建一个for循环,它创建一个包含每个糖果名称和价格的对象。我可以使用此
访问库存一天,没有任何问题console.log(store3[4]['inventory sold'])
{ 'Dark Chocolate Crunchies': { cost: 4.29, quantity: 2 },
'Mint Wafers': { cost: 1.09, quantity: 1 },
'Peppermint Poppers': { cost: 2.38, quantity: 0 },
'Peanut Butter Buttered Peanuts': { cost: 1.79, quantity: 2 },
'Berry Bites': { cost: 7.89, quantity: 5 },
'Caramel Twists': { cost: 0.5, quantity: 7 },
'Banana Bunches': { cost: 4.53, quantity: 2 } }
以及
console.log(store3[4]['inventory sold']['Mint Wafers'])
{ cost: 1.09, quantity: 1 }
但是,对于for循环,我需要使用数值,并且由于某种原因,当我尝试以此格式运行previous命令时,我得到了未定义。有什么建议吗?
console.log(store3[4]['inventory sold'][1])
undefined
答案 0 :(得分:2)
你可以使用Object.keys来获取一个键数组,然后你就可以在这个数组上获得每个属性,并且你将能够访问对象的每个属性。
var datas = {
'Dark Chocolate Crunchies': { cost: 4.29, quantity: 2 },
'Mint Wafers': { cost: 1.09, quantity: 1 },
'Peppermint Poppers': { cost: 2.38, quantity: 0 },
'Peanut Butter Buttered Peanuts': { cost: 1.79, quantity: 2 },
'Berry Bites': { cost: 7.89, quantity: 5 },
'Caramel Twists': { cost: 0.5, quantity: 7 },
'Banana Bunches': { cost: 4.53, quantity: 2 }
}
Object.keys(datas).forEach(function (key) {
console.log(key) ;
console.log('cost',datas[key]['cost']) ;
console.log('quantity',datas[key]['quantity']) ;
}) ;