【问题标题】:Returning the ids from the object within the arrays从数组中的对象返回 id
【发布时间】:2021-10-07 18:43:27
【问题描述】:

我有一个多维 javascript 对象数组,我试图用它来简单地将 Unit id 整理到一个新数组中,如下所示。

在内部值中返回 id 的最佳解决方案是什么,所以我只得到一个 id 数组,无论我尝试什么似乎都不起作用

[
  {
    units: [
      {
        id: 10000282,
        name: "Group 1",
      },
      {
        id: 10000340,
        name: "Group 2",
      },
      {
        id: 10000341,
        name: "Group 3",
      },
    ],
  },
  {
    units: [
      {
        id: 10000334,
        name: "Group 4",
      },
    ],
  },
]

预期的输出 - 只返回一个带有简单 id 的数组 例如 ids = [ 10000282, 10000340, 10000341, 10000334 ]

【问题讨论】:

  • 你可以试试Array.prototype.reduce

标签: javascript arrays loops foreach


【解决方案1】:

假设数据在变量data

> data.map(o => o.units.map(u => u.id)).flat()
[ 10000282, 10000340, 10000341, 10000334 ]

这假设您处于where .flat() is a thing 环境中。

如果不是这样,那么更长的路是

const ids = [];
data.forEach(o => {
   o.units.forEach(u => {
     ids.push(u.id);
   });
});

【讨论】:

    猜你喜欢
    • 2021-06-06
    • 2018-10-17
    • 2016-11-18
    • 1970-01-01
    • 1970-01-01
    • 2011-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多