按键读取并在JavaScript中解析为JSON
假设我们有一个像这样的JSON数组-
const arr = [{
"data": [
{ "W": 1, "A1": "123" },
{ "W": 1, "A1": "456" },
{ "W": 2, "A1": "4578" },
{ "W": 2, "A1": "2423" },
{ "W": 2, "A1": "2432" },
{ "W": 2, "A1": "24324" }
]
}];我们需要编写一个JavaScript函数,该函数接受一个这样的数组并将其转换为以下JSON数组-
[
{
"1": [
{
"A1": "123"
},
{
"A1": "456"
}
]
},
{
"2": [
{
"A1": "4578"
},
{
"A1": "2423"
},
{
"A1": "2432"
},
{
"A1": "24324"
}
]
}
];示例
const arr = [{
"data": [
{ "W": 1, "A1": "123" },
{ "W": 1, "A1": "456" },
{ "W": 2, "A1": "4578" },
{ "W": 2, "A1": "2423" },
{ "W": 2, "A1": "2432" },
{ "W": 2, "A1": "24324" }
]
}];
const groupJSON = (arr = []) => {
const preCombined = arr[0].data.reduce((acc, val) => {
acc[val.W] = acc[val.W] || [];
acc[val.W].push({ A1: val.A1 });
return acc;
}, {});
const combined = Object.keys(preCombined).reduce((acc, val) => {
const temp = {};
temp[val] = preCombined[val];
acc.push(temp);
return acc;
}, []);
return combined;
};
console.log(JSON.stringify(groupJSON(arr), undefined, 4));输出结果
控制台中的输出将是-
[
{
"1": [
{
"A1": "123"
},
{
"A1": "456"
}
]
},
{
"2": [
{
"A1": "4578"
},
{
"A1": "2423"
},
{
"A1": "2432"
},
{
"A1": "24324"
}
]
}
]热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短