我想基于ID
和class
属性将一个数组转换为另一个数组。
我有一个数组:
const json = [{
"ID": 10,
"Sum": 860,
"class": "K",
}, {
"ID": 10,
"Sum": 760,
"class": "one",
}, {
"ID": 10,
"Sum": 860,
"class": "two",
}];
我想以以下格式创建数据:
[{"ID":10,"K":860,"one":760,"two":860}]
答案 0 :(得分:2)
像这样的事情,也许有更有效的解决方案,我在5分钟之内就创建了。
const input = [
{
"ID": 10,
"Sum": 860,
"class": "K",
},
{
"ID": 10,
"Sum": 760,
"class": "one",
},
{
"ID": 10,
"Sum": 860,
"class": "two",
}];
const result = [];
input.forEach(item => {
const exists = result.find(i => i.id === item.id);
if (exists) {
exists[item.class] = item.Sum;
} else {
item[item.class] = item.Sum;
delete item.Sum;
delete item.class;
result.push(item);
}
});
console.log(result)