Javascript 在一个对象上循环,并在一个数组中每4个项目分组一次

Javascript 在一个对象上循环,并在一个数组中每4个项目分组一次,javascript,arrays,object,data-structures,Javascript,Arrays,Object,Data Structures,假设我有以下目标: { A1: {name: "x", age: y}, B1: {name: "x", age: y}, C1: {name: "x", age: y}, D1: {name: "x", age: y}, A2: {name: "x", age: y}, B2: {name: "x", age: y}, C2: {name: "x", age: y}, D2: {name: "x", age: y}, A3: {name: "x", age:

假设我有以下目标:

{
  A1: {name: "x", age: y},
  B1: {name: "x", age: y},
  C1: {name: "x", age: y},
  D1: {name: "x", age: y},
  A2: {name: "x", age: y},
  B2: {name: "x", age: y},
  C2: {name: "x", age: y},
  D2: {name: "x", age: y},
  A3: {name: "x", age: y},
  B3: {name: "x", age: y},
  C3: {name: "x", age: y},
  D3: {name: "x", age: y},
}
但我需要这样:

[
  {
    A1: {name: "x", age: y},
    B1: {name: "x", age: y},
    C1: {name: "x", age: y},
    D1: {name: "x", age: y},
  },
  {
    A2: {name: "x", age: y},
    B2: {name: "x", age: y},
    C2: {name: "x", age: y},
    D2: {name: "x", age: y},
  },
  {
    A3: {name: "x", age: y},
    B3: {name: "x", age: y},
    C3: {name: "x", age: y},
    D3: {name: "x", age: y},
  }
]

我尝试过for循环和映射,但只是遇到了问题,没有达到预期的结果

您所期望的输出无效。@Jonaswillms我的错误,刚刚修复了它。请向我们展示您的尝试。
  const hash = {};

  for(const [key, value] of Object.entries(input)) {
    const [letter, num] = key;
    if(!hash[num]) hash[num] = {};
    hash[num][key] = value;
  }

  const result = Object.values(hash);