javascript - 在 Javascript 中访问(嵌套)对象和数组
问题描述
我不确定我是否对如何组织我的数组或如何访问它有误解。
建议很简单:拥有一系列汽车品牌和型号,并访问它们进行展示。
const carBrands = [
{
Audi: {
models: ["A1", "A2", "A3", "A4"],
unitsAvailable: 378,
}
},
{
BMW: {
models: ["M1", "M2", "M3", "M4"],
unitsAvailable: 413,
},
},
{
Honda: {
models: ["H1", "H2", "H3", "H4"],
unitsAvailable: 226,
},
}
];
我可以这样访问每个模型:
carBrands.forEach((object, i) => {
console.log(object, i)
});
这将返回我的对象和索引:
奥迪 0 宝马 1 本田 2
我不知道如何返回:
制造商:奥迪车型:A1、A2、A3、A4 可用数量:378
...对于 3 辆车中的每一辆车。
我知道我必须遍历数组并为每个循环返回对象键/值对。但是我在使用正确的语法时遇到了麻烦。这是我试图弄清楚如何制定的内容:
let modelsToDisplay = [];
carBrands.forEach((object, i) => {
modelsToDisplay.push(<li key={i}>Make/Model/Units of each object</li>);
});
感谢您的帮助:)
解决方案
carBrands.flatMap(Object.entries)
.map(([key, { models, unitsAvailable }]) => `${key} ${models.join(", ")} ${unitsAvailable}`)
.forEach(v => console.log(v))
推荐阅读
- android - 联系人服务:等待 ContactsService.getContacts() 太慢了
- python - (TwitchIO for Python)导入命令时出现无效语法错误
- android - 如何在 Android 的 Razorpay 中指定自定义付款方式
- python - Flask-limiter - 如何找到 Flask-limiter 在 Redis 中存储的键名
- java - Lists.addAll(Map.get(key)),无意中改变了`Map`
- java - I don't understand how this line works: "System.out.println("\nCard: " + Deck.get(number).getValue() + " of " + Deck.get(number).getSuit() );"
- javascript - Express POST 无法识别字符串
- airflow - 如何从 Apache Airflow 调用外部服务器(在每次 DAG 运行之后)
- python-3.x - 用python3中的正则表达式匹配句子中的变体名称字符串
- azure - Azure ARM 模板 - 如何引用更改的资源参数