gpt4 book ai didi

javascript - 如何使用 Javascript 更改我的 json 对象的结构

转载 作者:行者123 更新时间:2023-11-29 21:40:36 25 4
gpt4 key购买 nike

I have a json object which stores all the vehicle models with their brand. 

[{
"brand":"Audi","model":"A4"
},
{
"brand":"Audi","model":"A6"
},
{
"brand":"BMW","model":"Z4"
},
{
"brand":"Audi","model":"R8"
},
{
"brand":"Volvo","model":"v40"
},
{
"brand":"BMW","model":"5 Series"
}]

但问题是,如果我有 3 个奥迪车型,那么列表会一次又一次地重复品牌,从而用重复值填充我的列表。所以我需要制作一个像这样的 json 对象:我只想使用 javascript 或 angularjs 制作一个 json 对象,如下所示:

 [ {"brand":"Audi","models":["A4","A6","R8"]},
{"brand":"BMW","models":["Z4","5 Series"]},
{"brand":"Volvo","models":["v40"]}]

最佳答案

您可以使用 angular js 或 javascript 轻松制作 JSON。您可以在 angular js 中使用以下方法。在 javascript 中,只需使用相同类型的循环,如“for”。

var model = {};
var brandList = [];
var returnObject = [];

var data = [
{
"brand": "Audi", "model": "A4"
},
{
"brand": "Audi", "model": "A6"
},
{
"brand": "BMW", "model": "Z4"
},
{
"brand": "Audi", "model": "R8"
},
{
"brand": "Volvo", "model": "v40"
},
{
"brand": "BMW", "model": "5 Series"
}
]

angular.forEach(data, function (dat, index) {
if (brandList.indexOf(dat.brand) == -1) {
brandList.push(dat.brand);
model[dat.brand] = [];
model[dat.brand].push(dat.model);
} else {
model[dat.brand].push(dat.model);
}
});

angular.forEach(brandList, function (val, index) {
var obj = {};
obj.brand = val;
obj.models = model[val];
returnObject.push(obj);
});

现在 returnObject 将包含您想要的 JSON 对象。

关于javascript - 如何使用 Javascript 更改我的 json 对象的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33076865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com