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);