格式转换为antd中table使用
问题:用js写法把下面a的对象数据结构转换成b的数组结构,es6写法也行
var a = {
"taskName": "新组件计算",
"taskType": "计算",
"status": "Created",
"isReview": "需要编辑",
"program": null,
"isDelete": false,
"calculateStatus": "",
"isAssistantEditor": null,
"editorName": "编辑人",
"verifierName": "校核人",
"assistantEditorName": "助理编辑人rogram",
};
var b = [
{
title: "任务名称",
content: "新组件计算",
},
{
title: "任务类型",
content: "计算"
},
{
title: "任务状态",
content: "Created"
},
{
title: "是否编审",
content: '需要编辑'
},
{
title: "校算工程师",
content: "编辑人"
},
{
title: "校核工程师",
content: "校核人"
},
{
title: "计算工程师",
content: "助理编辑人"
},
]
解答:
var a = {
"taskName": "新组件计算",
"taskType": "计算",
"status": "Created",
"isReview": "需要编辑",
"program": null,
"isDelete": false,
"calculateStatus": "",
"isAssistantEditor": null,
"editorName": "编辑人",
"verifierName": "校核人",
"assistantEditorName": "助理编辑人",
};
// 定义一个映射关系,用于将对象的key转换为对应的标题
const titleMap = {
taskName: "任务名称",
taskType: "任务类型",
status: "任务状态",
isReview: "是否编审",
editorName: "校算工程师",
verifierName: "校核工程师",
assistantEditorName: "计算工程师"
};
var b = Object.keys(a) // 获取对象的所有键
.filter(key => titleMap[key] !== undefined) // 过滤出在titleMap中定义了映射关系的键
.map(key => ({ title: titleMap[key], content: a[key] })); // 映射为所需的数组格式
console.log(b);