我有以下问题。我确信解决方案很简单,但我无法理解。
所以有一个对象是这样的:
var products = {
"productType1" : {
"productCode" : {
"name" : "Some Name 1",
"price" : "250"
},
"productCode2" : {
"name" : "Some Name 2",
"price" : "300"
},
"productCode3" : {
"name" : "Some Name 3",
"price" : "330"
}
}
}
我尝试将“for in”循环中的“productCode”属性与变量匹配。然后我只是尝试访问“名称”或“价格”属性,但作为回报我只得到“未定义”,虽然我确实与“productCode”属性匹配。
for(a in products.productType1){
if(finalCode === a){
console.log(a.name);
break;
}
else{
console.log("This is not the property you're looking for");
continue;
}
所以问题是 - 如何在循环中访问上述属性?
答案 0 :(得分:2)
a
是包含属性名称的字符串。它不是该财产的价值。你需要先获得价值。
products.productType1[a].name