使用javascript访问对象内部的数组?

使用javascript访问对象内部的数组?,javascript,json,Javascript,Json,假设此JSON保存在名为response的变量中: { "brands": { "Honda": [ "Accord", "Civic" ], "Porsche": [ "Cayenne", "Cayman" ] } } 我想访问每个品牌内的型号,例如: for ( var car_brands in response.brands

假设此JSON保存在名为
response
的变量中:

{
    "brands": {
        "Honda": [
          "Accord",
          "Civic"
        ],

        "Porsche": [
          "Cayenne",
          "Cayman"
        ]
    }
}
我想访问每个品牌内的型号,例如:

for ( var car_brands in response.brands ) {
    console.log(car_brands); // would console Honda, Porsche etc.
}
那么,我如何才能说,对于每个
汽车品牌
获得模型(每个汽车品牌内的阵列),即雅阁思域在同一个循环中


也许我应该正确地构造JSON,使其更易于解析。

您可以使用属性索引器语法获取该值:

var car_brandsArray = response.brands[car_brands]
然后您可以使用for循环对其进行循环:

for ( var car_brands in response.brands ) {
    console.log(car_brands); // would console Honda, Porsche etc.
    var car_brandsArray = response.brands[car_brands];
    for (var i = 0; i < car_brandsArray .length; i++) {
        console.log(car_brandsArray[i]; // would console Accord, Civi
    }
}

您可以使用属性索引器语法获取该值:

var car_brandsArray = response.brands[car_brands]
然后您可以使用for循环对其进行循环:

for ( var car_brands in response.brands ) {
    console.log(car_brands); // would console Honda, Porsche etc.
    var car_brandsArray = response.brands[car_brands];
    for (var i = 0; i < car_brandsArray .length; i++) {
        console.log(car_brandsArray[i]; // would console Accord, Civi
    }
}
你差一点就成功了,只需要另一个循环:)

也可以使用Array.forEach执行此操作:

response.brands.forEach(function (brand) {
    brand.forEach(function (model) {
        console.log(model);
    });
});
我个人最喜欢的是Array.forEach

你差一点就成功了,只需要另一个循环:)

也可以使用Array.forEach执行此操作:

response.brands.forEach(function (brand) {
    brand.forEach(function (model) {
        console.log(model);
    });
});
我个人最喜欢的是Array.forEach。

迭代时:

for(var car_brands in response.brands) {
}
您迭代索引(在对象中),而不是值(
for in
迭代属性)

最后,要获取阵列,请执行以下操作:

for(var car_brand in response.brands) {
    var car_brands = response.brands[car_brand];
}
要迭代它的值:

for(var car_brand in response.brands) {
    var car_brands = response.brands[car_brand];
    for(var index = 0; index < car_brands.length; i++) {
        //do anything here, over car_brands[index];
    }
}
for(var car_品牌响应。品牌){
var car_brands=响应。brands[car_brand];
对于(var指数=0;指数
迭代时:

for(var car_brands in response.brands) {
}
您迭代索引(在对象中),而不是值(
for in
迭代属性)

最后,要获取阵列,请执行以下操作:

for(var car_brand in response.brands) {
    var car_brands = response.brands[car_brand];
}
要迭代它的值:

for(var car_brand in response.brands) {
    var car_brands = response.brands[car_brand];
    for(var index = 0; index < car_brands.length; i++) {
        //do anything here, over car_brands[index];
    }
}
for(var car_品牌响应。品牌){
var car_brands=响应。brands[car_brand];
对于(var指数=0;指数
console.log(response.brands[car\u brands])console.log(response.brands[car\u brands])