首页 > 解决方案 > 在 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>);
  });

感谢您的帮助:)

标签: javascriptarraysloops

解决方案


carBrands.flatMap(Object.entries)
    .map(([key, { models, unitsAvailable }]) => `${key} ${models.join(", ")} ${unitsAvailable}`)
    .forEach(v => console.log(v))

推荐阅读