{ columnName: "C001", rowName: "R001", value: null }讲这种数组转成{ "rowNo": "R001", "columnValueList": [{ "C001": "123" }, { "C002": "456" }] }, { "rowNo": "R002", "columnValueList": [{ "C001": "433124" }, { "C002": "451234126" }]这种json格式
时间: 2023-07-02 12:18:54 浏览: 47
可以使用以下代码将给定的数组转换为所需的JSON格式:
```javascript
const input = [
{ columnName: "C001", rowName: "R001", value: null },
{ columnName: "C002", rowName: "R001", value: "123" },
{ columnName: "C001", rowName: "R002", value: "433124" },
{ columnName: "C002", rowName: "R002", value: "451234126" }
];
const result = [];
// Group the input array by rowName
const groupedByRowName = input.reduce((acc, curr) => {
acc[curr.rowName] = acc[curr.rowName] || [];
acc[curr.rowName].push(curr);
return acc;
}, {});
// Map the grouped data to the desired format
for (const rowName in groupedByRowName) {
const columnValueList = groupedByRowName[rowName].map((item) => {
return { [item.columnName]: item.value };
});
result.push({ rowNo: rowName, columnValueList });
}
console.log(result);
```
输出结果为:
```javascript
[
{
"rowNo": "R001",
"columnValueList": [
{
"C001": null
},
{
"C002": "123"
}
]
},
{
"rowNo": "R002",
"columnValueList": [
{
"C001": "433124"
},
{
"C002": "451234126"
}
]
}
]
```