[英]How to retrieve Java Script Array of Objects names
我正在尝试检索汽车名称(例如“ Ford feigo”,“ Nissan”,“ Duster”)。 而且我正试图通过carsinfo["0"].name
来检索它们以获取汽车名称,但作为回报,它给了我未定义的信息。
var carsinfo = {"cars": [
{
"Ford feigo": {
"milege": "11",
"color": "White",
"electric": yes
}
},
{
"Nissan": {
"milege": "33",
"color": "Black",
"electric": 74
}
},
{
"Duster": {
"milege": "26",
"color": "RED",
"electric": 87
}
}
],
};
您可以使用Object.keys
和Array#map
检索它们。
let carsinfo = { "cars": [{ "Ford feigo": { "milege": "11", "color": "White", "electric": 'yes' } }, { "Nissan": { "milege": "33", "color": "Black", "electric": 74 } }, { "Duster": { "milege": "26", "color": "RED", "electric": 87 } } ], }; let cars = [].concat(...carsinfo.cars.map(Object.keys)); console.log(cars);
汽车名称是对象中的键,要获取它们,您可以映射周围的数组,然后在新数组中获取键名,您可以在其中基于索引访问每个键
var carsinfo = { "cars": [{ "Ford feigo": { "milege": "11", "color": "White", "electric": "yes" } }, { "Nissan": { "milege": "33", "color": "Black", "electric": 74 } }, { "Duster": { "milege": "26", "color": "RED", "electric": 87 } }], }; var names = carsinfo.cars.map( k => Object.keys(k).shift()); console.log(names[0])
您可以对Array#reduce
使用经典方法:
var carsinfo = { cars: [{ "Ford feigo": { milege: "11", color: "White", electric: true } }, { Nissan: { milege: "33", color: "Black", electric: 74 } }, { Duster: { milege: "26", color: "RED", electric: 87 } }] }, cars = carsinfo.cars.reduce((r, o) => r.concat(Object.keys(o)), []); console.log(cars);
对象carsinfo没有名为name
的键。 这就是您undefined
的原因。 您将需要重组数组并执行以下操作:
const cars = Object.values(carsinfo.cars).map((val) => ({ name: Object.keys(val)[0] }));
console.log('name: ', cars[0].name);
这不是一个好的解决方案,因为它仅对特定的用例有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.