在JSON中,我有不同的sucursales(位置),每个都有不同的autos(汽车)。如何仅用一项功能就能获得所有地点的汽车总数?
[{"sucursal": "Quilmes",
"direccion": "Av. Hipólito Yrigoyen 80, B1878 Quilmes, Provincia de Buenos Aires",
"telefono": "(0230) 466-3000",
"autos": [{
"marca": "chevrolet",
"modelo": "camaro",
"anio": 20120,
"color": "black"
},
{
"marca": "nissan",
"modelo": "note",
"anio": 2020,
"color": "white"
},
{
"marca": "chevrolet",
"modelo": "onix",
"anio": 2019,
"color": "red"
},
{
"marca": "volkswagen",
"modelo": "scirocco",
"anio": 2015,
"color": "white"
},
{
"marca": "volkswagen",
"modelo": "golf",
"anio": 2016,
"color": "white"
},
{
"marca": "nissan",
"modelo": "sentra",
"anio": 2017,
"color": "black"
},
{
"marca": "citroen",
"modelo": "c4",
"anio": 2020,
"color": "gray"
},
{
"marca": "citroen",
"modelo": "berlingo",
"anio": 2020,
"color": "gray"
},
{
"marca": "peugeot",
"modelo": "208",
"anio": 2020,
"color": "gray"
},
{
"marca": "fiat",
"modelo": "fiorino",
"anio": 2020,
"color": "gray"
},
{
"marca": "toyota",
"modelo": "etios",
"anio": 2020,
"color": "gray"
},
{
"marca": "ford",
"modelo": "ecosport",
"anio": 2015,
"color": "red"
},
{
"marca": "chery",
"modelo": "tiggo",
"anio": 2020,
"color": "gray"
},
{
"marca": "renault",
"modelo": "sandero",
"anio": 2020,
"color": "gray"
}
]
},
{
"sucursal": "San Miguel",
"direccion": "Av. Pres. Juan Domingo Perón 2043, B1663 San Miguel, Provincia de Buenos Aires",
"telefono": "(011) 4451-5565",
"autos": [{
"marca": "nissan",
"modelo": "note",
"anio": 2018,
"color": "red"
},
{
"marca": "chevrolet",
"modelo": "camaro",
"anio": 2018,
"color": "white"
},
{
"marca": "chevrolet",
"modelo": "onix",
"anio": 2016,
"color": "gray"
},
{
"marca": "honda",
"modelo": "civic",
"anio": 2020,
"color": "black"
},
{
"marca": "audi",
"modelo": "a6",
"anio": 2016,
"color": "red"
},
{
"marca": "nissan",
"modelo": "x-trail",
"anio": 2016,
"color": "gray"
},
{
"marca": "peugeot",
"modelo": "2008",
"anio": 2020,
"color": "green"
},
{
"marca": "toyota",
"modelo": "hilux",
"anio": 2020,
"color": "gray"
},
{
"marca": "volkswagen",
"modelo": "saveiro",
"anio": 2020,
"color": "blue"
},
{
"marca": "fiat",
"modelo": "golf",
"anio": 2020,
"color": "gray"
},
{
"marca": "fiat",
"modelo": "palio",
"anio": 2017,
"color": "white"
},
{
"marca": "peugeot",
"modelo": "307",
"anio": 2020,
"color": "gray"
},
{
"marca": "renault",
"modelo": "sandero",
"anio": 2020,
"color": "gray"
}
]
}
]
在不同的js中,我可以列出所有位置的所有汽车,但我似乎不能只给我一个总数。
let carList=dataBase.forEach((concesionarias) => {
concesionarias.autos.forEach((auto) => {
res.write(" - " + auto.marca + " - " + auto.modelo + " - " + auto.anio + " - " + auto.color + "\n")})
})
如果要计算所有位置的所有汽车的总计数,则可以简单地.reduce()
从总计数开始0
并增加每个autos
阵列的长度。这是一个数据量减少的示例:
const dataBase = [
{
"sucursal": "Quilmes",
"direccion": "Av. Hipólito Yrigoyen 80, B1878 Quilmes, Provincia de Buenos Aires",
"telefono": "(0230) 466-3000",
"autos": [
{
"marca": "chevrolet",
"modelo": "camaro",
"anio": 20120,
"color": "black"
},
{
"marca": "renault",
"modelo": "sandero",
"anio": 2020,
"color": "gray"
}
]
},
{
"sucursal": "San Miguel",
"direccion": "Av. Pres. Juan Domingo Perón 2043, B1663 San Miguel, Provincia de Buenos Aires",
"telefono": "(011) 4451-5565",
"autos": [
{
"marca": "nissan",
"modelo": "note",
"anio": 2018,
"color": "red"
}
]
}
];
const totalCount = dataBase.reduce((prev,curr) => {
return prev + curr.autos.length;
},0)
console.log(`There are ${totalCount} cars in total.`);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句