let data = [
{
DATE_T: "20211220"
DAY_WT: 0.64
ITEM_ID: "JYD130018"
ITEM_NAME: "线材"
TYPE: "线材"
UNIT: "万吨"
UNIT_CODE: "EG"
},
{
DATE_T: "20211220"
DAY_WT: 2.77
ITEM_ID: "JYD130018"
ITEM_NAME: "中厚板"
TYPE: "中厚板"
UNIT: "万吨"
UNIT_CODE: "EG"
},
{
DATE_T: "20211220"
DAY_WT: 0.84
ITEM_ID: "JYD130018"
ITEM_NAME: "棒材"
TYPE: "棒材"
UNIT: "万吨"
UNIT_CODE: "EG"
},
{
DATE_T: "20211220"
DAY_WT: 0.53
ITEM_ID: "JYD130019"
ITEM_NAME: "线材"
TYPE: "线材"
UNIT: "万吨"
UNIT_CODE: "SG"
},
{
DATE_T: "20211220"
DAY_WT: 0.4
ITEM_ID: "JYD130019"
ITEM_NAME: "中厚板"
TYPE: "中厚板"
UNIT: "万吨"
UNIT_CODE: "SG"
},
{
DATE_T: "20211220"
DAY_WT: 1.32
ITEM_ID: "JYD130019"
ITEM_NAME: "直条螺纹钢"
TYPE: "直条螺纹钢"
UNIT: "万吨"
UNIT_CODE: "SG"
},
{
DATE_T: "20211220"
DAY_WT: 1.17
ITEM_ID: "JYD130020"
ITEM_NAME: "线材"
TYPE: "线材"
UNIT: "万吨"
UNIT_CODE: "ZN"
},
{
DATE_T: "20211220"
DAY_WT: 3.17
ITEM_ID: "JYD130020"
ITEM_NAME: "中厚板"
TYPE: "中厚板"
UNIT: "万吨"
UNIT_CODE: "ZN"
},
{
DATE_T: "20211220"
DAY_WT: 0.84
ITEM_ID: "JYD130020"
ITEM_NAME: "棒材"
TYPE: "棒材"
UNIT: "万吨"
UNIT_CODE: "ZN"
},
{
DATE_T: "20211220"
DAY_WT: 1.32
ITEM_ID: "JYD130020"
ITEM_NAME: "直条螺纹钢"
TYPE: "直条螺纹钢"
UNIT: "万吨"
UNIT_CODE: "ZN"
},
]
let res=[],obj={},index=0;
data.forEach(item=>{
//Object的hasOwnProperty()方法返回一个布尔值,判断对象是否包含特定的自身(非继承)属性。
//判断属性对象中是否存在这个相同key,若存在就赋值
if(obj.hasOwnProperty(item.ITEM_NAME)){
res[obj[item.ITEM_NAME]][item.UNIT_CODE] = item.DAY_WT || 0;
}else{
obj[item.ITEM_NAME] = index++;
res.push({
ITEM_NAME:item.ITEM_NAME,
UNIT:item.UNIT,
[item.UNIT_CODE]: item.DAY_WT || 0
})
}
})
结果: