【发布时间】:2018-07-20 02:06:10
【问题描述】:
假设我有一个从 LEFT JOIN 查询返回的数据,我想通过 Javascript 对其进行格式化。什么是 ES6 方法来完成这个?
假设我有这些数据:
[
{
"process_name": "Process 1",
"bom_qty": 1.000000,
"wip_qty": 20,
"material_name": "Material 1",
"material_id": "id 1",
"process_id": 1
},
{
"process_name": "Process 2",
"bom_qty": 1.000000,
"wip_qty": 11,
"material_name": "Material 2",
"material_id": "id 2",
"process_id": 2
},
{
"process_name": "Process 2",
"bom_qty": 0.000003,
"wip_qty": 11,
"material_name": "Material 3",
"material_id": "id 3",
"process_id": 2
},
{
"process_name": "Process 3",
"bom_qty": "",
"wip_qty": 58,
"material_name": "Material 4",
"material_id": "id 4",
"process_id": 3
},
{
"process_name": "Process 4",
"bom_qty": "",
"wip_qty": 58,
"material_name": false,
"material_id": "",
"process_id": 4
}
]
对于每个材料,查询中都有一个行条目。
我想将其转换为具有相同过程的行将合并为一个,但不同的材料放置在其中的对象数组中的东西:
[
{
"process_name": "Process 1",
"wip_qty": 20,
"material": [
{
"name": "Material 1",
"id": "id 1",
"qty": 1.000000
}
],
"process_id": 1
},
{
"process_name": "Process 2",
"wip_qty": 11,
"material": [
{
"name": "Material 2",
"id": "id 2",
"qty": 1.000000
},
{
"name": "Material 3",
"id": "id 3",
"qty": 0.000003
},
],
"process_id": 2
},
{
"process_name": "Process 3",
"wip_qty": 58,
"material": [
{
"name": "Material 4",
"id": "id 4",
"qty": ""
}
],
"process_id": 3
},
{
"process_name": "Process 4",
"wip_qty": 58,
"material": [
{
"name": false,
"id": "",
"qty": ""
}
],
"process_id": 4
}
]
【问题讨论】:
标签: arrays json for-loop ecmascript-6