嵌套对象文字返回所有属性作为长度?
Nested object literal returning all properties as length?
在 JSON 我有不同的 sucursales(locations),每个都有不同的 autos(cars)。如何在一个函数中获取所有位置的汽车总数?
[{"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.`);
在 JSON 我有不同的 sucursales(locations),每个都有不同的 autos(cars)。如何在一个函数中获取所有位置的汽车总数?
[{"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.`);