转换对象数组中的对象数组

努德

我正在从足球(足球)API中检索数据。我需要的特定数据是对象数组(306个对象)。每个对象都有一个称为matchday的属性,具有数字值。我想对共享相同属性的所有对象进行分组,并将它们存储在数组中。最后,我需要的是一组对象数组。

对象数组示例:

[
  {id: 264796, matchday: 1, …},
  {id: 264797, matchday: 1, …},
  {id: 264798, matchday: 2, …},
  {id: 264800, matchday: 2, …},
]

我想要的是这样的:

[
  [{id: 264796, matchday: 1, …},{id: 264797, matchday: 1, …}],
  [{id: 264798, matchday: 2, …},{id: 264800, matchday: 2, …}],
]
穆罕默德·乌斯曼(Mohammad Usman)

您可以使用.reduce()withObject.values()获得所需的输出:

const data = [
  {id: 264796, matchday: 1}, {id: 264797, matchday: 1},
  {id: 264798, matchday: 2}, {id: 264800, matchday: 2}
];

const result = Object.values(
  data.reduce((r, c) => {
    r[c.matchday] = r[c.matchday] || [];
    r[c.matchday].push(c);
    return r;
  }, {})
);

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章