如何在JavaScript对象中定位属性

时间:2015-07-18 09:00:46

标签: javascript

我有以下问题。我确信解决方案很简单,但我无法理解。

所以有一个对象是这样的:

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

所以问题是 - 如何在循环中访问上述属性?

1 个答案:

答案 0 :(得分:2)

a是包含属性名称的字符串。它不是该财产的价值。你需要先获得价值。

products.productType1[a].name